Age | Commit message (Collapse) | Author |
|
Should be standards compliant and with several optional features,
including support for hexadecimal float notation, locale awareness,
glibc-like locale-specific digit grouping with the `'' flag, and
positional arg support. I tested it pretty well (finding several
bugs in glibc's scanf in the process), but it is brand new so be
aware.
The *wprintf functions now support floating point output. Also, a
couple of bugs were squashed. Finally, %a/%A conversions are
now implemented.
Implement the glibc xlocale interface for thread-specific locale
support. Also add the various *_l(args, locale_t loc_arg) funcs.
NOTE!!! setlocale() is NOT threadsafe! NOTE!!!
The strto{floating point} conversion functions are now locale aware.
The also now support hexadecimal floating point notation.
Add the wcsto{floating point} conversion functions.
Fix a bug in mktime() related to dst. Note that unlike glibc's mktime,
uClibc's version always normalizes the struct tm before attempting
to determine the correct dst setting if tm_isdst == -1 on entry.
Add a stub version of the libintl functions. (untested)
Fixed a known memory leak in setlocale() related to the collation data.
Add lots of new config options (which Erik agreed to sort out :-),
including finally exposing some of the stripped down stdio configs.
Be careful with those though, as they haven't been tested in a
long time.
(temporary) GOTCHAs...
The ctype functions are currently incorrect for 8-bit locales. They
will be fixed shortly.
The ctype functions are now table-based, resulting in larger staticly
linked binaries. I'll be adding an option to use the old approach
in the stub locale configuration.
|
|
not setting the FILE bufread member to flag the end of the buffer.
Also, do not set bufgetc member if getc macro support is disabled.
|
|
back. Unfortunately, none of my test cases caught it.
|
|
%c, %s, and %[ specifiers. Note that scanf is undergoing rewrite so I
didn't bother optimizing this. I did run all my regression tests though.
Set EOF correctly for fmemopen on readonly streams. I really need to
check what glibc behavior is for the various open modes though.
|
|
case.
|
|
sense to exclude it, gcc always supports long long, and we never
fully excluded long long anyways (off64_t for example).
-Erik
|
|
I think they're fixed now (I've run a few tests).
Note: __fsetlocking() is not threadsafe... but glibc's doesn't appear to
be either.
|
|
Implemented unformatted wide i/o functions. (ungetwc still needs testing)
Fix a few bugs in wchar.c.
Modifications for bcc/elks support.
|
|
port. Also, explicitly use the macro versions of isdigit and isspace in the
printf and scanf code.
|
|
|
|
|
|
|
|
|
|
|
|
Fix three bugs and bring into line with glibc:
1. The first character read using getc() was being ignored if it was EOF.
Normally this is okay because the next getc() returns EOF as well, but
for sscanf, this was causing us to skip the null terminator and start
scanning whatever happened to be next in memory.
2. %s, %c, and %[ formats now return -1 if EOF is reached before any
characters are read, instead of 0. This was causing an infinite loop
in diald.
3. Default to base 10 for %i fields if not prefix modifier present.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
that are greater that long long max, but works well enough to support interface
in busybox. Just a temporary measure until scanf.c is rewritten.
|
|
printf now supports long double, plus some bug fixes.
|
|
and a bit of extra cleanup in the test makefiles.
|
|
rework include/stdio.h, and fix up the resultant damage.
|
|
|
|
-Erik
|
|
|