summaryrefslogtreecommitdiffstats
path: root/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a silly bug in _wstdio_fwrite. wprintf %s should now work correctly.Manuel Novoa III2003-01-051-1/+3
|
* The big thing is locale dependent collation support.Manuel Novoa III2002-12-202-9/+47
| | | | Also added outdigit support and (legacy) YESSTR/NOSTR support.
* If the wait failed in pclose it would return a random status codeDavid McCullough2002-12-011-1/+2
| | | | instead of -1 as expected.
* Fix an ifdef mismatch.Manuel Novoa III2002-11-271-2/+2
|
* Ok... here's the summary:Manuel Novoa III2002-11-223-379/+823
| | | | | | | | | | | | | | 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.
* For now, leave the "Oddly enough, __fsetlocking() is NOT threadsafe."Eric Andersen2002-11-051-0/+2
| | | | comment as an mjn3 only item.
* Add printf wchar support for %lc (%C) and %ls (%S).Manuel Novoa III2002-11-041-14/+99
| | | | | | | | | | | | | 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.
* It was easy enough to respect locale-specific decimal point for printfManuel Novoa III2002-11-031-2/+15
| | | | | floating point output, so at least implement that. But grouping will have to wait for the rewrite of _dtostr.
* Implement locale-specific grouping in printf for base 10 integer conversionsManuel Novoa III2002-11-032-5/+94
| | | | | 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...
* Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen2002-10-312-22/+5
| | | | | | | | | | | | | | | been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
* Fix a silly typo for ManuelEric Andersen2002-10-291-1/+1
| | | | -Erik
* Fix a problem in vasprintf (reported by vodz a while back) when builtManuel Novoa III2002-10-291-14/+35
| | | | | | 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.
* Patch from Tero_Lyytik�inen <tero@paravant.fi> to fix bug in matchcharManuel Novoa III2002-09-061-0/+4
| | | | case.
* Changed fclose behavior when custom streams were enabled. Previously,Manuel Novoa III2002-08-251-2/+21
| | | | | | | | | | | the cookie pointer was set to NULL as a debugging aid. However, some of the perl 5.8 test rely on being able to close stderr and still try writing to it. So now, the cookie pointer and handler function pointers are set to that it is a "normal" file with a file descriptor of -1. Note: The cookie pointer is reset to NULL if the FILE struct is free'd by fclose.
* Kill the HAS_LONG_LONG option. It really did not make a lot ofEric Andersen2002-08-251-16/+0
| | | | | | sense to exclude it, gcc always supports long long, and we never fully excluded long long anyways (off64_t for example). -Erik
* Fix two problems with printf that showed up in the python 2.2.1 tests;Manuel Novoa III2002-08-171-1/+10
| | | | One involving %o and one involving %f.
* __fsetlocking() and FILE field user_locking were completely broken. :-(Manuel Novoa III2002-08-133-9/+26
| | | | | | 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.
* Revert commit by davidm to printf.c that initialized conv_numManuel Novoa III2002-08-122-7/+7
| | | | | | | | | 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.
* Fix a number of compile time warnings so that uClibc will build with -Werror ↵David McCullough2002-08-091-1/+1
| | | | | | using a 3.0.4 version of the sh-linux-gcc compiler.
* Changed fflush() behavior to no-op for r/w streams in read-mode.Manuel Novoa III2002-08-061-17/+33
| | | | | | | | | | | | | 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>.
* A couple of little cleanups I forgot to check in.Manuel Novoa III2002-08-031-2/+0
|
* Per discussion on the mailing list, simply vfork -> fork mapping to only applyEric Andersen2002-07-311-1/+1
| | | | | iff we do not have vfork available, which is simpler and more reasonable. -Erik
* Attempt to clean up the strerror_r situation.Manuel Novoa III2002-07-073-38/+4
|
* Enable WCHAR support for C/POSIX stub locales.Manuel Novoa III2002-07-035-177/+323
| | | | | | Implemented unformatted wide i/o functions. (ungetwc still needs testing) Fix a few bugs in wchar.c. Modifications for bcc/elks support.
* Fix perror() and printf("%m") to not call strerror(), as required by theManuel Novoa III2002-06-184-8/+51
| | | | | | | | | 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.
* Revert Erik's patch to vasprintf and fix the real issue.Manuel Novoa III2002-06-112-1/+1
| | | | | The writer for the stream returned by open_memstream was supposed to keep the buffer nul-terminated. I apparently left out a statement.
* This patch from Rik Faith <faith@alephnull.com> fixes a potentiallyEric Andersen2002-06-111-0/+1
| | | | | | | 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!
* A patch from Ted Phelps to fix popen(). Ted writes:Eric Andersen2002-06-111-1/+1
| | | | | | | | | There is a minor bug in the implementation of popen(). In the case where the file descriptor returned from its call to pipe() is the same as the file descriptor that it is meant to be (where the dup2() branch is not taken), the end of the pipe is still closed by close(reading) even though it shouldn't be. Thanks Ted!
* Several bugfixes for problems that showed up on alphaEric Andersen2002-05-121-1/+1
| | | | -Erik
* Adjust preprocessor logic to initialize QUAL_CHARS correctly for Erik's alphaManuel Novoa III2002-05-113-19/+42
| | | | | port. Also, explicitly use the macro versions of isdigit and isspace in the printf and scanf code.
* Protect against ctype macros.Manuel Novoa III2002-05-101-4/+6
|
* Fix the read/write auto-transition bugs. Note that if we can'tManuel Novoa III2002-04-091-29/+36
| | | | | | | | | | | | 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.
* Fix an arg promotion handling bug in _do_one_spec for %c reportedManuel Novoa III2002-04-021-2/+9
| | | | by Ilguiz Latypov <ilatypov@superbt.com>.
* Forget to initialize thread locks for fake files. Thanks Erik.Manuel Novoa III2002-04-012-0/+16
|
* Remove function declartions from include/features.h, createEric Andersen2002-04-014-0/+4
| | | | | a separate header file for those, and fixup references. -Erik
* Rework __gen_tempname() to better match glibc, and add mkstemp64(),Eric Andersen2002-03-314-23/+6
| | | | | which is needed for busybox ash when using largefile support. -Erik
* Add in a knob to disable %m supportEric Andersen2002-03-221-0/+12
| | | | -Erik
* Compile in flockfile and friends by defaultEric Andersen2002-03-212-1/+9
| | | | -Erik
* Fix a pointer bug in setvbuf reported by Bart Visscher <magick@Linux-Fan.com>.Manuel Novoa III2002-03-161-2/+6
|
* I vow to rerun _all_ the tests before making commits. :-(Manuel Novoa III2002-03-141-2/+2
| | | | | I successfully managed to blow away all the modeflags for the file _except_ the one dealing with buffering...
* Modified because of the new str to int funcs.Manuel Novoa III2002-03-131-7/+8
|
* Fix stdin/stdout initialization of buffering type. I had changed theManuel Novoa III2002-03-131-2/+2
| | | | default static initiailization and forgotten to update _stdio_init().
* Apply Miles Bader's missing __va_copy() fix.Manuel Novoa III2002-03-131-0/+11
|
* Fix another O_LARGEFILE bug. Also, I forget to make floating point optionalManuel Novoa III2002-03-122-11/+42
| | | | in the new printf code.
* So much for fcntl flags being resonably consistent across archs... (hopefully)Manuel Novoa III2002-03-121-10/+14
| | | | | fix O_APPEND and O_LARGEFILE handling in _stdio_fopen(). Someone else will have to check of course...
* Fix fflush(NULL) and tweak _stdio_term() for the unbuffered stdio option.Manuel Novoa III2002-03-121-2/+10
|
* Deal with cvs "feature"... or is that cvs _user_...Manuel Novoa III2002-03-122-0/+5204
|
* Swap in the new stdio code.Manuel Novoa III2002-03-128-1572/+199
|
* Be consistant and use an unsigned char * throughoutEric Andersen2002-02-261-2/+3
|
* I shouldn't try to program when sleepy, since I totally botchedEric Andersen2002-02-251-4/+4
| | | | | the fcntl interface... -Erik