Age | Commit message (Collapse) | Author |
|
|
|
Hopefully locale support will build when cross compiling now. Collation is
still not supported, but that's what I'm currently working on. In the
next couple of days, I'll probably put up a couple of files for download
that will save people the trouble of generating all the glibc locales.
Added *wprintf functions, although they currently don't support floating
point. That will be fixed when I rewrite _dtostr... or possibly before.
Added the wcsto{inttype} functions.
Added iconv() and a mini iconv utility. The require locale support and
only provide for conversions involving the various unicode encodings
{ UCS-4*, UCS-2*, UTF-32*, UTF-16*, UTF-8 }, the 8-bit codesets built
with the locale data, and the internal WCHAR_T.
|
|
Require printf format strings to be valid multibyte strings beginning and
ending in their initial shift state, as per the stds.
Fixed a bug in _wchar_wcsntoutf8s(). Don't store wcs position if dst is NULL.
Also, introduce an awful hack into _wchar_wcsntoutf8s() and wcsrtombs() in
order to support %ls in printf. See comments below for details.
Change behaviour of wc<->mb functions when in the C locale. Now they do
a 1-1 map for the range 0x80-UCHAR_MAX. This is for backwards compatibility
and consistency with the stds requirements that a printf format string by
a valid multibyte string beginning and ending in it's initial shift state.
|
|
floating point output, so at least implement that. But grouping will
have to wait for the rewrite of _dtostr.
|
|
when the grouping flag "'" is specified. Grouping for floating point values
may wait until I do a rewrite of the floating pt to string code...
|
|
-Erik
|
|
without custom stream support. In that case, it is necessary to do
a va_copy. Note: The affected code is not built in the stock config.
Also, make sure each va_copy has a matching va_end, as required by C99.
|
|
One involving %o and one involving %f.
|
|
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.
|
|
needlessly. To do so increases the generated code size with bcc.
Eliminate duplicate define warnings in wstring.c.
Fix potentially broken preprocessor comparisons. The preprocessor
converts integers to maximal signed type, so inequality comparisons
involving UINTMAX_MAX, ULLONG_MAX, and (if no long long) ULONG_MAX
were potentially broken.
|
|
using
a 3.0.4 version of the sh-linux-gcc compiler.
|
|
|
|
Implemented unformatted wide i/o functions. (ungetwc still needs testing)
Fix a few bugs in wchar.c.
Modifications for bcc/elks support.
|
|
standards. Temporarily added a utility function to wrap Erik's strerror_r
so that "Unknown error xxx" strings can be generated for errno's which
cause strerror_r to fail. That utility function will eventually be merged
in with the strerror/strerror_r functions when I change over to optionallly
mmap'ing the system error strings to provide for lower mem comsumption on
non-MMU platforms, as well as locale-specific system error messages.
|
|
The writer for the stream returned by open_memstream was supposed to
keep the buffer nul-terminated. I apparently left out a statement.
|
|
non-NULL terminated string problem that could result from the use
of open_memstream(). Manuel may have a better solution, but this
one works for me, since with this plus the popen fix I can now run
things like gdb properly. Thanks Rik!
|
|
-Erik
|
|
port. Also, explicitly use the macro versions of isdigit and isspace in the
printf and scanf code.
|
|
by Ilguiz Latypov <ilatypov@superbt.com>.
|
|
|
|
-Erik
|
|
|
|
in the new printf code.
|
|
|
|
|
|
|
|
Note: glibc output for (void *)0 is "(nil)" while uClibc output is "0".
Does anyone have a preference?
|
|
|
|
|
|
|
|
|
|
|
|
printf now supports long double, plus some bug fixes.
|
|
to supplement macros in stdio.h, change perror to use stdio package instead
of "write". Also add back in weak stdio initialization for static lib case.
|
|
has an associated FILE to avoid bad interactions with buffered output, but needed for busybox right now and that implementation has the same bug.
|
|
Modified stdio/Makefile to build printf.c according to Config values for
HAS_FLOATS and HAS_LONG_LONG.
|
|
sizeof(long) equal. printf # flag now works for b (binary) specifier.
|
|
the *s*printf functions to no longer use a static fake file.
|
|
internally converted to an int on many platforms. So make
it be an int explicitly and call that good enough.
-Erik
|
|
|
|
|
|
|
|
-Erik
|
|
|