Age | Commit message (Collapse) | Author |
|
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.
|
|
This falls under undefined behavior wrt ANSI/ISO C99, but
SUSv3 seems to treat it as a no-op and it occurs in some apps.
Fixed a problem with _stdio_fwrite() not checking for underlying
write() failures.
Fixed both _stdio_fwrite() and _stdio_fread() to make sure that
the putc and getc macros were disabled if the stream was in
and error state.
The above changes should take care of a problem initially reported
by "Steven J. Hill" <sjhill@realitydiluted.com>.
|
|
|
|
|
|
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.
|
|
auto-transition, we fail the operation. This is different than glibc's
apparent behavior for writing of clearing the read buffer and still
failing the write without setting the stream's error flag.
Also, change a number of "errno = xxx" assignments to use __set_errno().
Also, change setvbuf(file, NULL, _IO{LF}BF, 0) behavior to more closely
match glibc's by keeping the current buffer and only changing the buffering
mode. Update setlinebuf() in the process to match the man page behavior.
|
|
-Erik
|
|
|
|
I successfully managed to blow away all the modeflags for the file
_except_ the one dealing with buffering...
|
|
default static initiailization and forgotten to update _stdio_init().
|
|
in the new printf code.
|
|
fix O_APPEND and O_LARGEFILE handling in _stdio_fopen(). Someone else will
have to check of course...
|
|
|
|
|
|
|
|
|
|
the fcntl interface...
-Erik
|
|
them afterwards. As was, this hosed things up for fds shared with a
parent process. Very bad for shells... Oops.
-Erik
|
|
EINTR [when] the fclose() function was interrupted by a signal". But
looking in the current uClibc stdio.c for some bizarre reason we had a
special case where when errno was EINTR, we would keep on trying
instead. Doh! Fix that,
-Erik
|
|
from abort() and from _exit(), we need to ensure that flushing
will not cause us to block. So use fcntl to set the fd's to
non-block mode...
|
|
unnecessary variable
|
|
undefined which is a valid thing to do)
-Erik
|
|
the config file). I've tested this and it works for me.
-Erik
|
|
|
|
"_stderr", since this is what gcc and libgcc expect...
-Erik
|
|
|
|
|
|
avoid problems with fgets on tty streams. I actually did some testing this
time. ;-)
Note: there is a difference in behavior between glibc and uClibc here
regarding fread() on a tty stream. glibc's fread() seems to return after
reading all _available_ data even if not at end-of-file, while uClibc's
fread() continues reading until all requested or eof or error. The latter
behavior seems correct w.r.t. the standards.
|
|
and pasting while pressed for time. I haven't checked this one either. :-(
|
|
|
|
tested it (lack of time).
|
|
<johan.adolfsson@axis.com>.
|
|
<kili@outback.escape.de>.
|
|
use the unsafe gets, they will get a warning from the linker. muahahaha.
This method will soon be applied to fork() w/o an mmu etc...
-Erik
|
|
This required we use _LIBC instead of __LIBC__ to be consistent with glibc.
This had some sideffects in sys/syscalls.h. While fixing things, I made
everything use __set_errno() for (eventual) thread support.
-Erik
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
-Erik
|
|
we don't blow up by using too much stack space, and simplifies the job of
supporting new architectures, since they don't have to mess with calling foo
init functions in crt0 and cleaning up the resulting damage.
-Erik
|
|
|
|
|