summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* 2005-04-28 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2005-04-281-1/+2
| | | | | * libc/stdio/vfscanf.c (__svfscanf_r): Fix code thinko when checking for multiple flags.
* 2005-04-05 Dave Korn <dave.korn@artimi.com>Jeff Johnston2005-04-051-2/+19
| | | | | * libc/stdio/vfscanf.c (__svfscanf_r): If an error occurs processing something that looks like a "NaN", put back the characters processed.
* 2005-03-21 Nicholas Wourms <nwourms@netscape.net>Jeff Johnston2005-03-211-2/+1
| | | | | | * libc/stdio/vfprintf.c: Move newlib.h before _WANT_IO_POS_ARGS test, since _WANT_IO_POS_ARGS is now defined in there. Remove duplicate reent.h include.
* 2005-02-07 Antony King <antony.king@st.com>Jeff Johnston2005-02-0839-53/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/stdio/clearerr.c (clearerr): Ensure CHECK_INIT() is called before _flockfile to prevent lock object use before initialisation. _REENT_SMALL_CHECK_INIT() and CHECK_INIT() take a struct _reent * instead of a FILE *. * libc/stdio/fclose.c (_fclose_r): Ditto. * libc/stdio/feof.c (feof): Ditto. * libc/stdio/ferror.c (ferror): Ditto. * libc/stdio/fflush.c (fflush): Ditto. * libc/stdio/fgetc.c (fgetc): Ditto. * libc/stdio/fgets.c (fgets): Ditto. * libc/stdio/fileno.c (fileno): Ditto. * libc/stdio/fputc.c (fputc): Ditto. * libc/stdio/fputs.c (fputs): Ditto. * libc/stdio/fread.c (fread): Ditto. * libc/stdio/freopen.c (_freopen_r): Ditto. * libc/stdio/fseek.c (_fseek_r): Ditto. * libc/stdio/ftell.c (_ftell_r): Ditto. * libc/stdio/fwrite.c (fwrite): Ditto. * libc/stdio/getc.c (getc): Ditto. * libc/stdio/getdelim.c (__getdelim): Ditto. * libc/stdio/putc.c (putc): Ditto. * libc/stdio/setvbuf.c (setvbuf): Ditto. * libc/stdio/ungetc.c (_ungetc_r): Ditto. * libc/stdio/vfprintf.c (_VFPRINTF_R): Ditto. * libc/stdio64/freopen64.c (_freopen64_r): Ditto. * libc/stdio64/fseeko64.c (_fseeko64_r): Ditto. * libc/stdio64/ftello64.c (_ftello64_r): Ditto. * libc/stdio/local.h (CHECK_INIT): Argument is now a struct _reent * instead of a FILE * and so replace incorrect use of _REENT with argument. * libc/sys/arm/syscalls.c (CHECK_INIT): Ditto. * libc/stdio/getchar.c (getchar): _REENT_SMALL_CHECK_INIT() and CHECK_INIT() take a struct _reent * instead of a FILE *. * libc/stdio/iprintf.c (iprintf, _iprintf_r): Ditto. * libc/stdio/iscanf.c (iscanf, _iscanf_r): Ditto. * libc/stdio/perror.c (perror): Ditto. * libc/stdio/printf.c (printf, _printf_r): Ditto. * libc/stdio/putchar.c (putchar): Ditto. * libc/stdio/puts.c (puts): Ditto. * libc/stdio/refill.c (__srefill): Ditto. * libc/stdio/scanf.c (scanf, _scanf_r): Ditto. * libc/stdio/vfscanf.c (VFSCANF, _VFSCANF_R): Ditto. * libc/stdio/viprintf.c (viprintf, _viprintf_r): Ditto. * libc/stdio/viscanf.c (viscanf, _viscanf_r): Ditto. * libc/stdio/vprintf.c (vprintf, _vprintf_r): Ditto. * libc/stdio/vscanf.c (vscanf, _vscanf_r): Ditto. * libc/stdio/wbuf.c (__swbuf): Ditto. * libc/stdio/wsetup.c (__swsetup): Ditto. * libc/stdlib/mallocr.c (malloc_stats): Ditto. * libc/stdlib/mstats.c (_mstats_r): Ditto. * libc/include/sys/reent.h (_REENT_SMALL_CHECK_INIT): Ditto. * libc/machine/powerpc/vfscanf.c (vfscanf): Ditto. * libc/stdio/fgetpos.c (_fgetpos_r): Removed unnecessary calls to _flockfile and _funlockfile; rely on locking in _ftell_r. * libc/stdio64/fgetpos64.c (_fgetpos64_r): Ditto (_ftello64_r). * libc/machine/powerpc/vfprintf.c (__sbprintf): Removed unnecessary initialision of _data field in FILE structure. * libc/machine/powerpc/vfprintf.c (VFPRINTF): Added CHECK_INIT() call.
* 2005-02-07 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2005-02-082-0/+26
| | | | | | | | * libc/stdio/findfp.c (__sinit): Protect with new lock. (__sinit_lock): New lock. (__sinit_lock_acquire, __sinit_lock_release): New functions. * libc/stdio/local.h: Add reference to new __sinit locking functions.
* 2005-01-06 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2005-01-061-4/+35
| | | | | | | | | * libc/stdlib/strtod.c (_strtod_r): Add NaN support. * (strtof): Ditto. * libc/stdio/vfscanf.c (__svfscanf_r): Ditto. * Makefile.am (MATHOBJS_IN_LIBC): Add s_nan and sf_nan functions for use by strtod and strtof. * Makefile.in: Regenerated.
* 2005-01-06 Hans-Peter Nilsson <hp@axis.com>Jeff Johnston2005-01-061-1/+1
| | | | | * libc/stdio/ftell.c (ftell_r): Add parenthesis for __SWR bit-test in combination with NULL test.
* 2004-12-13 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-12-131-9/+13
| | | | | | * libc/stdio/fread.c (fread): For unbuffered I/O, attempt a low-level read if we don't get the full amount of bytes so EOF or error flags will be set.
* 2004-11-24 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-11-242-2/+2
| | | | | * libc/stdio/Makefile.am: Fix missing vfscanf. * libc/stdio/Makefile.in: Regenerated.
* 2004-11-23 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-11-2420-308/+1389
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/stdio.h: Add new iprintf and iscanf variants. Also do some reordering. * libc/machine/powerpc/vfscanf.c: Remove __sccl function. * libc/stdio/Makefile.am: Add support for new iprintf and iscanf family functions. * libc/stdio/Makefile.in: Regenerated. * libc/stdio/fiprintf.c: Remove doc to siprintf.c. * libc/stdio/iprintf.c: Ditto. * libc/stdio/local.h (__svfiscanf_r): New prototype. * libc/stdio/siprintf.c: Add docs for various iprintf family functions. * libc/stdio/sniprintf.c: Move docs to siprintf.c. * libc/stdio/stdio.tex: Add new functions. * libc/stdio/vfscanf.c: Split out __sccl function to separate file and add special name defines so this file can be used to build vfiscanf.o. * libc/stdio/asiprintf.c: New file. * libc/stdio/fiscanf.c: Ditto. * libc/stdio/iscanf.c: Ditto. * libc/stdio/sccl.c: Ditto. * libc/stdio/siscanf.c: Ditto. * libc/stdio/vasiprintf.c: Ditto. * libc/stdio/viprintf.c: Ditto. * libc/stdio/viscanf.c: Ditto. * libc/stdio/vsiprintf.c: Ditto. * libc/stdio/vsiscanf.c: Ditto. * libc/stdio/vsniprintf.c: Ditto.
* 2004-11-19 Shaun Jackman <sjackman@gmail.com>Jeff Johnston2004-11-204-11/+159
| | | | | | | | * libc/include/stdio.h: Add sniprintf. * libc/stdio/Makefile.am: Add sniprintf.c. * libc/stdio/Makefile.in: Regenerated. * libc/stdio/sniprintf.c: New file. * libc/stdio/stdio.tex: Add sniprintf.
* * libc/stdio/refill.c (__srefill): Try again after EOF on Cygwin. Clear EOFChristopher Faylor2004-11-171-0/+8
| | | | flag if successful.
* 2004-10-26 Jason Tishler <jason@tishler.net>Jeff Johnston2004-10-261-10/+6
| | | | | * libc/stdio/fread.c (fread): Fix return value for unbuffered fread.
* 2004-10-04 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-10-041-1/+3
| | | | | | * libc/stdio/vfscanf.c (__svfscanf_r): For int conversions, count skipped zero characters as part of the nread count for %n. * libc/machine/powerpc/vfscanf.c: Ditto.
* 2004-09-24 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-09-241-0/+1
| | | | * libc/stdio/local.h: Include <stdlib.h>.
* * libc/stdio/fread.c (fread): Include <malloc.h>.Corinna Vinschen2004-09-241-0/+1
|
* 2004-09-22 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-09-221-18/+75
| | | | | | * libc/stdio/fread.c (fread): For non-space-optimized case, add special code for unbuffered files to use user buffer and only require one low-level system read.
* 2004-09-16 Antony King <antony.king@st.com>Jeff Johnston2004-09-166-10/+18
| | | | | | | | | | | | | | | | | | | * libc/include/sys/lock.h: Replaced empty {} with (0) to conform with locking API. * libc/include/sys/stdio.h: (_flockfile)[!_SINGLE_THREAD]: Add check for__SSTR in _flags and if set, skip lock request. (_funlockfile)[!SINGLE_THREAD]: Ditto. * libc/stdio/local.h (CHECK_INIT): Added check that _REENT is not NULL. * libc/stdio/siprintf.c (siprintf, _siprintf_r): Added missing initialisation of _file to -1 in local FILE. * libc/stdio/snprintf.c (snprintf, _snprintf_r): Ditto. * libc/stdio/sscanf.c (sscanf, _sscanf_r): Ditto. * libc/stdio/vsnprintf.c (vsnprintf, _vsnprintf_r): Ditto. * libc/stdio/vsscanf.c (_vsscanf_r): Ditto. * libc/stdio/sscanf.c (sscanf, _sscanf_r): Added __SSTR flag to _flags in local FILE to prevent locking. * libc/stdio/vsscanf.c (_vsscanf_r): Ditto.
* 2004-09-16 Antony King <antony.king@st.com>Jeff Johnston2004-09-161-12/+6
| | | | | | | * libc/stdio/fwalk.c (_fwalk): Remove check for _GLOBAL_REENT and only walk the reentrancy parameter. (_fwalk_reent): Ditto. * libc/stdlib/exit.c: Remove out of date _REENT_ONLY check.
* 2004-09-16 Antony King <antony.king@st.com>Jeff Johnston2004-09-162-35/+43
| | | | | | | | | * libc/ctype/ctype.tex: Added missing documentation. * libc/stdio/stdio.tex Ditto. * libc/stdlib/stdlib.tex Ditto. * libc/string/strings.tex Ditto. * libc/time/time.tex: Ditto. * libc/stdio/setbuffer.c: Removed setlinebuf documentation.
* 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>Jeff Johnston2004-08-161-5/+5
| | | | | * libc/stdio/vfscanf.c (_NO_LONGLONG): Move out of FLOATING_POINT #if.
* 2004-07-16 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-07-161-1/+5
| | | | | | * libc/stdio/fvwrite.c (_sfvwrite): For asprintf family calls, if realloc fails, free up buffer as it is no longer used.
* 2004-06-11 Antony King <antony.king@st.com>Jeff Johnston2004-06-115-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/sys/_types.h: Include <sys/lock.h> and change _flock_t to be of type _LOCK_RECURSIVE_T. * libc/include/sys/reent.h: (_REENT_INIT): Reformat. (_REENT_INIT_PTR): Ditto. Use memset where appropriate. (_global_impure_ptr): New declaration. (_GLOBAL_REENT): Change to be _global_impure_ptr. * libc/include/sys/stdio.h: Include <sys/lock.h> and <sys/reent.h>. (_flockfile)[!_SINGLE_THREAD]: Add code for lock call. (_funlockfile)[!SINGLE_THREAD]: Ditto. * libc/reent/impure.c: Set _global_impure_ptr to _impure_ptr. * libc/stdio/fclose.c: Remove casting of fp lock to _LOCK_RECURSIVE_T. * libc/stdio/findfp.c: Ditto. * libc/stdio/fopen.c: Ditto. * libc/stdio/freopen.c: Ditto. * libc/stdio/vfprintf.c: Ditto. * libc/stdio64/fopen64.c: Ditto. * libc/stdlib/envlock.c: Add default stubs that use generic locking code. * libc/stdlib/mlock.c: Ditto. Jeff Johnston <jjohnstn@redhat.com> * libc/sys/linux/sys/_types.h (__flock_mutex_t): New subtype. (_flock_t): Change to be a struct containing a single member named mutex which is of type __flock_mutex_t.
* 2004-06-02 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-06-021-0/+4
| | | | | | * libc/stdio/vfscanf.c (__svfscanf_r): For CT_INT conversions, reset digit flags appropriately after we have discovered "0x". * libc/machine/powerpc/vfscanf.c (__svfscanf_r): Ditto.
* 2004-05-27 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-05-271-5/+10
| | | | | | | * libc/stdio/vfprintf.c (_VFPRINTF): Move file locking from here ... (_VFPRINTF_R): ... to here so all I/O printf routines are covered.
* 2004-05-25 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-05-263-12/+14
| | | | | | | | | | | | | | | | | | | | * newlib.hin: (_WANT_IO_POS_ARGS): New define. (_WANT_IO_LONG_LONG): Ditto. (_WANT_IO_LONG_DOUBLE): Ditto. * configure.in: Add new configuration options --enable-newlib-io-long-long and --enable-newlib-io-long-double which tie to new defines in newlib.hin. * configure: Regenerated. * configure.host: Add checks for new configuration options. Also fix up check for --enable-newlib-io-pos-args so configuration option will override any default for a given platform. Remove defining compiler flags for the _WANT_IO* options. * libc/stdio/vfprintf.c: Change to use new newlib.hin defines instead of looking for old compiler flags. * libc/stdio/vfscanf.c: Ditto. * libc/stdio/vfieeefp.h: Ditto. * libc/machine/powerpc/vfprintf.c: Ditto. * libc/machine/powerpc/vfscanf.c: Ditto.
* 2004-05-11 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-05-111-2/+2
| | | | | * libc/stdio/vfprintf.c (VFPRINTF_R): Use _free_r instead of free.
* 2004-05-07 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-05-073-7/+52
| | | | | | | | | | * libc/stdio/iprintf.c (_iprintf_r): Fix old-style argument list for reentrant pointer. Call _vfiprintf_r. * libc/stdio/siprintf.c (_siprintf_r): New function. * libc/stdio/vfprintf.c (__sbprintf): Add reetrant struct pointer argument. Change all callers. Call _VFPRINTF_R. * libc/include/stdio.h (_siprintf_r, _vfiprintf_r): New prototypes.
* 2004-05-03 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-05-031-6/+16
| | | | | | * libc/stdio/vfprintf.c (_VFPRINTF_R): Set error flag when multibyte functions return failure for %C, %S, %lc, and %ls format specifiers.
* 2004-05-03 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-05-031-6/+20
| | | | | | | * libc/include/stdio.h (_ungetc_r): New prototype. * libc/stdio/ungetc.c (_ungetc_r): New reentrant function. (__submore): Add reentrant struct pointer argument. (ungetc): Change to call _ungetc_r.
* 2004-04-28 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-04-282-5/+5
| | | | | | | | * libc/stdio/local.h (_fwalk_reent): Specify prototype of function pointer argument. * libc/stdio/fwalk.c (_fwalk, _fwalk_reent): Change prototypes to specify function pointer arguments. (__fwalk, __fwalk_reent): Ditto.
* 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-04-232-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Define _MB_CAPABLE if mb supported. * configure: Regenerated. * configure.host: Remove manual setting of MB_CAPABLE compiler flag. * newlib.hin: Add _MB_CAPABLE flag. * libc/ctype/iswalpha.c, libc/ctype/iswblank.c: Include <newlib.h> and check for _MB_CAPABLE flag instead of MB_CAPABLE. * libc/ctype/iswcntrl.c, libc/ctype/iswprint.c: Ditto. * libc/ctype/iswpunct.c, libc/ctype/iswspace.c: Ditto. * libc/ctype/jp2uc.c: Ditto. * libc/ctype/towlower.c, libc/ctype/towupper.c: Ditto. * libc/locale/locale.c: Ditto * libc/machine/powerpc/vfscanf.c: Ditto * libc/stdio/vfprintf.c, libc/stdio/vfscanf.c: Ditto * libc/stdlib/mblen.c: Ditto * libc/stdlib/mblen_r.c, libc/stdlib/mbrlen.c: Ditto * libc/stdlib/mbrtowc.c, libc/stdlib/mbsrtowcs.c: Ditto * libc/stdlib/mbstowcs.c, libc/stdlib/mbtowc.c: Ditto * libc/stdlib/mbtowc_r.c, libc/stdlib/wcrtomb.c: Ditto * libc/stdlib/wcsrtombs.c, libc/stdlib/wcstombs.c: Ditto * libc/stdlib/wctomb.c, libc/sys/linux/intl/dcigettext.c: Ditto * libc/sys/linux/intl/explodename.c: Ditto * libc/sys/linux/intl/finddomain.c: Ditto * libc/sys/linux/intl/l10nflist.c: Ditto * libc/sys/linux/intl/loadmsgcat.c: Ditto * libc/sys/linux/intl/localealias.c: Ditto
* 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-04-2378-1090/+1398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/stdio/asprintf.c libc/stdio/clearerr.c, libc/stdio/fclose.c libc/stdio/fcloseall.c libc/stdio/fdopen.c, libc/stdio/feof.c libc/stdio/ferror.c libc/stdio/fflush.c, libc/stdio/fgetc.c libc/stdio/fgetpos.c libc/stdio/fgets.c, libc/stdio/fileno.c libc/stdio/findfp.c libc/stdio/fiprintf.c, libc/stdio/flags.c libc/stdio/fopen.c libc/stdio/fprintf.c, libc/stdio/fputc.c libc/stdio/fputs.c libc/stdio/fread.c, libc/stdio/freopen.c libc/stdio/fscanf.c libc/stdio/fseek.c, libc/stdio/fseeko.c libc/stdio/fsetpos.c libc/stdio/ftell.c, libc/stdio/ftello.c libc/stdio/fvwrite.c libc/stdio/fwalk.c, libc/stdio/fwrite.c libc/stdio/getc.c libc/stdio/getc_u.c, libc/stdio/getchar.c libc/stdio/getchar_u.c, libc/stdio/getdelim.c libc/stdio/getline.c libc/stdio/gets.c, libc/stdio/getw.c libc/stdio/iprintf.c libc/stdio/local.h, libc/stdio/makebuf.c libc/stdio/mktemp.c libc/stdio/perror.c, libc/stdio/printf.c libc/stdio/putc.c libc/stdio/putc_u.c, libc/stdio/putchar.c libc/stdio/putchar_u.c libc/stdio/puts.c, libc/stdio/putw.c libc/stdio/refill.c libc/stdio/remove.c, libc/stdio/rename.c libc/stdio/rewind.c libc/stdio/rget.c, libc/stdio/scanf.c libc/stdio/setbuf.c libc/stdio/setbuffer.c, libc/stdio/setlinebuf.c libc/stdio/setvbuf.c, libc/stdio/siprintf.c libc/stdio/snprintf.c, libc/stdio/sprintf.c libc/stdio/sscanf.c libc/stdio/stdio.c, libc/stdio/tmpfile.c libc/stdio/tmpnam.c libc/stdio/ungetc.c, libc/stdio/vasprintf.c libc/stdio/vfieeefp.h, libc/stdio/vfprintf.c libc/stdio/vfscanf.c, libc/stdio/vprintf.c libc/stdio/vscanf.c, libc/stdio/vsnprintf.c libc/stdio/vsprintf.c, libc/stdio/vsscanf.c libc/stdio/wbuf.c, libc/stdio/wsetup.c: Perform minor formatting changes. Move copyright notices to top of file, ensure that <_ansi.h> is included, be consistent with open parentheses, use _DEFUN macro, include "local.h" where needed, and remove various compiler warnings.
* 2004-04-21 J"orn Rennecke <joern.rennecke@superh.com>Jeff Johnston2004-04-221-17/+38
| | | | | | | | * libc/stdio/vfscanf.c (NNZDIGITS): New define. (__svfscanf_r): In integer conversions, leave out leading zeroes which are not part of a base prefix. Keep track of width truncation to fit into buf, not counting left-out zeroes against width till the truncation has been compensated for.
* 2004-04-08 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-04-085-6/+77
| | | | | | | | | | | | | | * libc/stdio/fclose.c (_fclose_r): New function. * libc/stdio/freopen.c (_freopen_r): Call _fclose_r. * libc/stdio/fcloseall.c (_fcloseall_r): Call _fwalk_reent. * libc/stdio64/freopen64.c (_freopen64_r): Use _fclose_r. * libc/include/stdio.h (_fclose_r): New prototype. * libc/stdio/fopen.c: Fix typo in comment. 2004-04-08 Jeff Johnston <jjohnstn@redhat.com> * libc/stdio/fwalk.c (_fwalk_reent): New version of _fwalk to handle _r reentrant functions.
* 2004-04-01 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-04-021-1/+7
| | | | | * libc/stdio/vfscanf.c (__svfscanf_r): Add locking/unlocking of file.
* 2003-03-30 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-03-301-0/+4
| | | | | | * libc/stdio/findfp.c (__fp_lock_all): Add call to __sfp_lock_acquire. (__fp_unlock_all): Add call to __sfp_lock_release.
* 2004-03-25 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-03-258-45/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/stdio/fclose.c (fclose): Protect file pointer list when releasing a file. * libc/stdio/fcloseall.c (_fcloseall_r): Close all files via fwalk. * libc/stdio/fdopen.c (_fdopen_r): Add calls to _flockfile/_funlockfile. * libc/stdio/findfp.c: Move __sfp_lock. Change __sfp_lock type to recursive. Change __lock_acquire/__lock_release calls for __sfp_lock to __sfp_lock_acquire/__sfp_lock_release throughout. (std): Make sure that file lock is only initialized once. (__sfp): Move _file initialization. Initialize file lock. (__sfp_lock_acquire): New function. (__sfp_lock_release): Ditto. (__fp_lock_all): Remove __sfp_lock_acquire call. (__fp_unlock_all): Remove __sfp_lock_release call. * libc/stdio/fopen.c (_fopen_r): Protect file pointer list. Add calls to _flockfile/_funlockfile. Remove __lock_init_recursive call. * libc/stdio/freopen.c (_freopen_r): Protect file pointer list. * libc/stdio/fwalk.c (__fwalk): New static function. (_fwalk): Protect file pointer list. Use __fwalk to walk through file pointers. * libc/stdio/local.h: Add defines for __sfp_lock_acquire/__sfp_lock_release when single threaded. Add function prototypes otherwise. * libc/stdio64/fdopen64.c (_fdopen64_r): Add calls to _flockfile/_funlockfile. * libc/stdio/fopen64.c (_fopen64_r): Protect file pointer list. Add calls to _flockfile/_funlockfile. Remove __lock_init_recursive call. * libc/stdio/freopen64.c (_freopen64_r): Protect file pointer list.
* 2004-03-09 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-03-091-5/+46
| | | | | | | | | * libc/stdio/findfp.c (__sfp): Rename lock to __sfp_lock. Change __sfp_lock to static global. (__fp_lock): New static function. (__fp_unlock): Ditto. (__fp_lock_all): New function. (__fp_unlock_all): Ditto.
* 2004-01-30 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-01-311-4/+7
| | | | | | * libc/stdio/fwalk.c (_fwalk.c): Don't traverse the file chain on the passed in reentrancy struct if it is _GLOBAL_REENT.
* 2004-01-30 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-01-301-0/+8
| | | | | | | | Jeff Johnston <jjohnstn@redhat.com> * libc/stdio/fwalk.c (_fwalk): Traverse the given reentrancy struct for std streams and traverse the global reeentrancy struct for all other streams.
* 2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-01-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Add support to generate iconv converter flags for newlib.h * newlib.hin: Add iconv converter flags. * configure: Regenerated. * libc/Makefile.in: Ditto. * libc/configure.in: Moved iconv converter parsing logic to top level newlib configure.in. * libc/configure: Regenerated. * libc/iconv/Makefile.in: Ditto. * libc/iconv/README.TODO * libc/iconv/charset.aliases: Remove wrong BE aliases for UCS2/UCS4/UTF8. * libc/iconv/ccs/Makefile.am: Remove C flag setting now that newlib.h can be used. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.in: Regenerated. * libc/iconv/ces/Makefile.in: Ditto. * libc/iconv/lib/Makefile.in: Ditto. * libc/iconv/ccs/README.CCS.SOURCES: Updated. * libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries. * libc/iconv/ccs/big5.c: Switch to use new underscored flags defined in newlib.h. * libc/iconv/ccs/cns11643_plane1.c: Ditto. * libc/iconv/ccs/cns11643_plane14.c: Ditto. * libc/iconv/ccs/cns11643_plane2.c: Ditto. * libc/iconv/ccs/cp775.c: Ditto. * libc/iconv/ccs/cp850.c: Ditto. * libc/iconv/ccs/cp852.c: Ditto. * libc/iconv/ccs/cp855.c: Ditto. * libc/iconv/ccs/cp866.c: Ditto. * libc/iconv/ccs/gb_2312_80.c: Ditto. * libc/iconv/ccs/iso_8859_1.c: Ditto. * libc/iconv/ccs/iso_8859_15.c: Ditto. * libc/iconv/ccs/iso_8859_2.c: Ditto. * libc/iconv/ccs/iso_8859_4.c: Ditto. * libc/iconv/ccs/iso_8859_5.c: Ditto. * libc/iconv/ccs/jis_x0201.c: Ditto. * libc/iconv/ccs/jis_x0208_1983.c: Ditto. * libc/iconv/ccs/jis_x0212_1990.c: Ditto. * libc/iconv/ccs/koi8_r.c: Ditto. * libc/iconv/ccs/koi8_u.c: Ditto. * libc/iconv/ccs/ksx1001.c: Ditto. * libc/iconv/ccs/shift_jis.c: Ditto. * libc/iconv/ccs/us_ascii.c: Ditto. * libc/iconv/ccs/binary/big5.cct: Newly generated. * libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto. * libc/iconv/ccs/binary/cp775.cct: Ditto. * libc/iconv/ccs/binary/cp850.cct: Ditto. * libc/iconv/ccs/binary/cp852.cct: Ditto. * libc/iconv/ccs/binary/cp855.cct: Ditto. * libc/iconv/ccs/binary/cp866.cct: Ditto. * libc/iconv/ccs/binary/gb_2312_80.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_1.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_15.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_2.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_4.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_5.cct: Ditto. * libc/iconv/ccs/binary/jis_x0201.cct: Ditto. * libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto. * libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto. * libc/iconv/ccs/binary/koi8_r.cct: Ditto. * libc/iconv/ccs/binary/koi8_u.cct: Ditto. * libc/iconv/ccs/binary/ksx1001.cct: Ditto. * libc/iconv/ccs/binary/shift_jis.cct: Ditto. * libc/iconv/ccs/binary/us_ascii.cct: Ditto. * libc/iconv/lib/bialiasesi.c: Sync with charset.aliases. * libc/iconv/ces/euc-jp.c: Use newlib.h macros. * libc/iconv/ces/euc-kr.c: Ditto. * libc/iconv/ces/euc-tw.c: Ditto. * libc/iconv/ces/gb2312.c: Ditto. * libc/iconv/ces/iso-10646-ucs-2.c: Ditto. * libc/iconv/ces/iso-10646-ucs-4.c: Ditto. * libc/iconv/ces/ucs-2-internal.c: Ditto. * libc/iconv/ces/ucs-4-internal.c: Ditto. * libc/iconv/ces/utf-16.c: Ditto. * libc/iconv/ces/utf-8.c: Ditto. * libc/iconv/lib/aliases.c: Ditto. * libc/iconv/lib/biccs.c: Ditto. * libc/iconv/lib/bices.c: Ditto. * libc/iconv/lib/ccs.c: Ditto. * libc/iconv/lib/ces.c: Ditto. * libc/iconv/lib/ces_euc.c: Ditto. * libc/iconv/lib/ces_iso2022.c: Ditto. * libc/iconv/lib/ces_table.c: Ditto. * libc/iconv/lib/converter.c: Ditto. * libc/iconv/lib/deps.h: Ditto. * libc/iconv/lib/endian.h: Ditto. * libc/iconv/lib/iconv.c: Ditto. * libc/iconv/lib/loaddata.c: Ditto. * libc/iconv/lib/local.h: Include newlib.h. * libc/argz/Makefile.in: Regenerated. * libc/ctype/Makefile.in: Ditto. * libc/errno/Makefile.in: Ditto. * libc/iconv/ccs/binary/Makefile.in: Ditto. * libc/locale/Makefile.in: Ditto. * libc/misc/Makefile.in: Ditto. * libc/posix/Makefile.in: Ditto. * libc/reent/Makefile.in: Ditto. * libc/search/Makefile.in: Ditto. * libc/signal/Makefile.in: Ditto. * libc/stdio/Makefile.in: Ditto. * libc/stdio64/Makefile.in: Ditto. * libc/stdlib/Makefile.in: Ditto. * libc/string/Makefile.in: Ditto. * libc/syscalls/Makefile.in: Ditto. * libc/time/Makefile.in: Ditto. * libc/unix/Makefile.in: Ditto. * testsuite/newlib.iconv/iconv.exp: New file. * testsuite/newlib.iconv/iconvjp.c: Ditto. * testsuite/newlib.iconv/iconvnm.c: Ditto. * testsuite/newlib.iconv/iconvru.c: Ditto.
* 2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2004-01-231-145/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (--enable-newlib-iconv): New configuration option. (--enable-newlib-builtin-converters): Ditto. * configure.in: Add code to set _ICONV_ENABLED flag. Set _MB_LEN_MAX to 1 if not mb enabled. * configure: Regenerated. * aclocal.m4: Ditto. * Makefile.in: Ditto. * newlib.hin: Add _ICONV_ENABLED flag. * libc/Makefile.am: Add support for iconv. * libc/configure.in: Ditto. * libc/Makefile.in: Regenerated. * libc/aclocal.m4: Ditto. * libc/configure: Ditto. * libc/libc.texinfo: Add iconv documentation. * libc/iconv/AUTHORS, libc/iconv/COPYING, libc/iconv/Makefile.am, libc/iconv/Makefile.in, libc/iconv/README.ORIGINAL, libc/iconv/README.TODO, libc/iconv/charset.aliases, libc/iconv/iconv.tex, libc/iconv/ccs/Makefile.am, libc/iconv/ccs/Makefile.in, libc/iconv/ccs/README.CCS.SOURCES, libc/iconv/ccs/big5.c, libc/iconv/ccs/cns11643_plane1.c, libc/iconv/ccs/cns11643_plane14.c, libc/iconv/ccs/cns11643_plane2.c, libc/iconv/ccs/cp775.c, libc/iconv/ccs/cp850.c, libc/iconv/ccs/cp852.c, libc/iconv/ccs/cp855.c, libc/iconv/ccs/cp866.c, libc/iconv/ccs/gb_2312_80.c, libc/iconv/ccs/iconv_mktbl, libc/iconv/ccs/iso_8859_1.c, libc/iconv/ccs/iso_8859_15.c, libc/iconv/ccs/iso_8859_2.c, libc/iconv/ccs/iso_8859_4.c, libc/iconv/ccs/iso_8859_5.c, libc/iconv/ccs/jis_x0201.c, libc/iconv/ccs/jis_x0208_1983.c, libc/iconv/ccs/jis_x0212_1990.c, libc/iconv/ccs/koi8_r.c, libc/iconv/ccs/koi8_u.c, libc/iconv/ccs/ksx1001.c, libc/iconv/ccs/shift_jis.c, libc/iconv/ccs/us_ascii.c, libc/iconv/ccs/binary/Makefile.am, libc/iconv/ccs/binary/Makefile.in, libc/iconv/ccs/binary/big5.cct, libc/iconv/ccs/binary/cns11643_plane1.cct, libc/iconv/ccs/binary/cns11643_plane14.cct, libc/iconv/ccs/binary/cns11643_plane2.cct, libc/iconv/ccs/binary/cp775.cct, libc/iconv/ccs/binary/cp850.cct, libc/iconv/ccs/binary/cp852.cct, libc/iconv/ccs/binary/cp855.cct, libc/iconv/ccs/binary/cp866.cct, libc/iconv/ccs/binary/gb_2312_80.cct, libc/iconv/ccs/binary/iso_8859_1.cct, libc/iconv/ccs/binary/iso_8859_15.cct, libc/iconv/ccs/binary/iso_8859_2.cct, libc/iconv/ccs/binary/iso_8859_4.cct, libc/iconv/ccs/binary/iso_8859_5.cct, libc/iconv/ccs/binary/jis_x0201.cct, libc/iconv/ccs/binary/jis_x0208_1983.cct, libc/iconv/ccs/binary/jis_x0212_1990.cct, libc/iconv/ccs/binary/koi8_r.cct, libc/iconv/ccs/binary/koi8_u.cct, libc/iconv/ccs/binary/ksx1001.cct, libc/iconv/ccs/binary/shift_jis.cct, libc/iconv/ccs/binary/us_ascii.cct, libc/iconv/ces/Makefile.am, libc/iconv/ces/Makefile.in, libc/iconv/ces/euc-jp.c, libc/iconv/ces/euc-kr.c, libc/iconv/ces/euc-tw.c, libc/iconv/ces/gb2312.c, libc/iconv/ces/iso-10646-ucs-2.c, libc/iconv/ces/iso-10646-ucs-4.c, libc/iconv/ces/ucs-2-internal.c, libc/iconv/ces/ucs-4-internal.c, libc/iconv/ces/utf-16.c, libc/iconv/ces/utf-8.c, libc/iconv/lib/Makefile.am, libc/iconv/lib/Makefile.in, libc/iconv/lib/aliases.c, libc/iconv/lib/bialiasesi.c, libc/iconv/lib/biccs.c, libc/iconv/lib/bices.c, libc/iconv/lib/ccs.c, libc/iconv/lib/ces.c, libc/iconv/lib/ces_euc.c, libc/iconv/lib/ces_iso2022.c, libc/iconv/lib/ces_table.c, libc/iconv/lib/converter.c, libc/iconv/lib/deps.h, libc/iconv/lib/endian.h, libc/iconv/lib/iconv.c, libc/iconv/lib/loaddata.c, libc/iconv/lib/local.h, libc/include/iconv.h: New files. * libc/sys/linux/include/iconv.h: Ditto. * libc/include/sys/_types.h (_iconv_t): Added. * doc/aclocal.m4: Regenerated. * doc/configure: Ditto. * doc/Makefile.in: Ditto. * iconvdata/Makefile.in: Ditto. * iconvdata/aclocal.m4: Ditto. * iconvdata/configure: Ditto. * libc/*aclocal.m4: Ditto. * libc/*Makefile.in: Ditto. * libc/*configure: Ditto. * libm/*aclocal.m4: Ditto. * libm/*Makefile.in: Ditto. * libm/*configure: Ditto.
* 2004-01-22 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-01-221-0/+12
| | | | | * libc/stdio/findfp.c (__sfp): Protect global FILE pointer list by a lock when newlib is multithreaded.
* 2004-01-19 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-01-192-2/+2
| | | | | * libc/stdio/fclose.c (fclose): Release FILE as the last step. * libc/stdio/freopen.c (freopen): Ditto.
* * libc/stdio/vfprintf.c: Add sys/lock.h include.Christopher Faylor2004-01-171-0/+1
|
* 2004-01-16 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-01-162-4/+5
| | | | | | | * libc/stdio/findfp.c (__sfp): Remove unnecessary memset. * libc/stdio/vfprintf.c (__sbprintf): Ditto. Add calls to __lock_init_recursive and __lock_close_recursive instead.
* 2004-01-15 Thomas Pfaff <tpfaff@gmx.net>Jeff Johnston2004-01-154-0/+16
| | | | | | | | | | | * libc/stdio/fclose.c: Include sys/lock.h. (fclose): Destroy lock when file is closed. * libc/stdio/findfp.c (__sfp): Initialize file pointers _lock member. * libc/stdio/freopen.c: Include sys/lock.h. (_freopen_r): Destroy lock when file is closed. * libc/stdio/vfprintf.c (__sbprintf): Initialize file pointers _lock member.
* 2003-12-04 Artem B. Bityuckiy <abitytsky@softminecorp.com>Jeff Johnston2003-12-052-46/+117
| | | | | | | | * libc/stdio/vfprintf.c (_VFPRINTF_R): Use _r versions of mb routines for %lc and %ls support. * libc/stdio/vfscanf.c (_svfscanf_r): Add %lc, %C, %ls, and %S support. Remove CYGNUS_NEC markers and code within.
* 2003-11-24 Artem B. Bityuckiy <mail_lists@mail.ru>Jeff Johnston2003-11-241-1/+1
| | | | | * libc/stdio/vfprintf.c (_VFPRINTF_R): Fix check for 'C' format specifier to use ch instead of *fmt.