ciabatta/todo

88 lines
1.9 KiB
Plaintext

general:
* Start writing documentation concerning various implementation defined
behaviours of the library.
* Ok I just realised that I assumed that wchar_t is a 16-bit string in
a bunch of places.
math.h:
* exp
* exp2
* expml
* log
* log10
* log2
* log1p
* pow
* cbrt
* hypot
* atan2
* erf
* erfc
* tgamma
* lgamma
* frexp
* ldexp
* M_* constants
* M_E
* M_LOG2
* M_LOG10
* other stuff?
stdio.h:
* The only reason to keep a linked list of all streams is to make sure they
are flushed after main() returns. I wonder if only remembering the files
with a buffer would increase performance.
* Formatted scan
* %s precision should specify how much characters to *write*
* %s check for NULL
* %Ls this is an actual weird territory. If (wchar_t *) is a unicode string
then to determine it's "width" (to figure out field padding) would require
to use a Unicode composition algorithm. But the problem is that windows
Unicode rendering advances text by 2 units, even if it's 1 graphical
character that was composed from 2 unicode characters. The question
becomes: do we implement the thing correctly by using a more complex
solution, or do we succumb to windows' bullshittery. I guess the answer is
obvious. That's why I wrote this todo item :D
* tmpfile
* tmpnam
* tmpfile_s
* tmpnam_s
stdlib.h:
* Strtod base 16 must be correctly rounded
* Multibyte string functions
* Better PRNG
* Fix aligned_malloc
* Constraint Handlers
* getenv_s
string.h:
* strnlen_s
* memset_s
* memmove_s
* memcpy_s
* strncpy_s
* strcpy_s
* strcat_s
* strncat_s
* strtok_s
* strerror_s
* strerrorlen_s
threads.h:
* TODO: add todo items
time.h:
* Probably some other funcs
* asctime_s
* ctime_s
* gmtime_s
* localtime_s
wchar.h:
* Basically everything
entry:
* Pretty sure there is a bug in counting wide chars for parsing argv