Commit Graph

115 Commits

Author SHA1 Message Date
Jeff Johnston 2a6e122363 2004-09-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/local.h: Include <stdlib.h>.
2004-09-24 16:03:46 +00:00
Corinna Vinschen d163f2fc83 * libc/stdio/fread.c (fread): Include <malloc.h>. 2004-09-24 09:13:11 +00:00
Jeff Johnston 602de58268 2004-09-22 Jeff Johnston <jjohnstn@redhat.com>
* 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-22 21:22:07 +00:00
Jeff Johnston ed6859b8f0 2004-09-16 Antony King <antony.king@st.com>
* 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 21:30:51 +00:00
Jeff Johnston 7a0f696676 2004-09-16 Antony King <antony.king@st.com>
* 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 21:26:51 +00:00
Jeff Johnston 14613e5e74 2004-09-16 Antony King <antony.king@st.com>
* 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-09-16 21:15:14 +00:00
Jeff Johnston 721a934c16 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
* libc/stdio/vfscanf.c (_NO_LONGLONG): Move out of FLOATING_POINT
        #if.
2004-08-16 17:09:31 +00:00
Jeff Johnston dbfd3394e9 2004-07-16 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/fvwrite.c (_sfvwrite):  For asprintf family
        calls, if realloc fails, free up buffer as it is no longer
        used.
2004-07-16 15:47:15 +00:00
Jeff Johnston d0bd3e6f56 2004-06-11 Antony King <antony.king@st.com>
* 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-11 20:37:10 +00:00
Jeff Johnston 8b57e664af 2004-06-02 Jeff Johnston <jjohnstn@redhat.com>
* 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-06-02 19:22:14 +00:00
Jeff Johnston 3f611058b7 2004-05-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfprintf.c (_VFPRINTF): Move file locking
        from here ...
        (_VFPRINTF_R): ... to here so all I/O printf routines
        are covered.
2004-05-27 14:56:54 +00:00
Jeff Johnston 227e6ef6c3 2004-05-25 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-26 00:19:14 +00:00
Jeff Johnston 5b4c8ae219 2004-05-11 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* libc/stdio/vfprintf.c (VFPRINTF_R): Use _free_r instead
        of free.
2004-05-11 20:59:20 +00:00
Jeff Johnston 186420eccf 2004-05-07 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-07 21:00:41 +00:00
Jeff Johnston 1af84bb7f5 2004-05-03 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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 20:17:59 +00:00
Jeff Johnston 20b0251ab3 2004-05-03 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-05-03 17:27:56 +00:00
Jeff Johnston 6194cf4a4b 2004-04-28 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-28 18:02:38 +00:00
Jeff Johnston f777e3a5ac 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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 21:44:22 +00:00
Jeff Johnston 05b315770a 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-23 20:01:55 +00:00
Jeff Johnston 04e8fca153 2004-04-21 J"orn Rennecke <joern.rennecke@superh.com>
* 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-22 21:58:15 +00:00
Jeff Johnston 47dcaf565d 2004-04-08 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-08 22:26:50 +00:00
Jeff Johnston 38f4f02370 2004-04-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfscanf.c (__svfscanf_r): Add locking/unlocking
        of file.
2004-04-02 00:59:17 +00:00
Jeff Johnston cacc0d4421 2003-03-30 Thomas Pfaff <tpfaff@gmx.net>
* libc/stdio/findfp.c (__fp_lock_all): Add call to
        __sfp_lock_acquire.
        (__fp_unlock_all): Add call to __sfp_lock_release.
2004-03-30 21:11:53 +00:00
Jeff Johnston 10dcf7e718 2004-03-25 Thomas Pfaff <tpfaff@gmx.net>
* 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-25 22:29:18 +00:00
Jeff Johnston 41c3da6ae1 2004-03-09 Thomas Pfaff <tpfaff@gmx.net>
* 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-03-09 21:27:37 +00:00
Jeff Johnston c730e0e7ca 2004-01-30 Jeff Johnston <jjohnstn@redhat.com>
* 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-31 00:39:07 +00:00
Jeff Johnston ff41498a19 2004-01-30 Thomas Pfaff <tpfaff@gmx.net>
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-30 20:32:04 +00:00
Jeff Johnston 01e0a77749 2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-27 23:26:26 +00:00
Jeff Johnston 786ab12ce2 2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-23 21:37:46 +00:00
Jeff Johnston ed1a95dc25 2004-01-22 Thomas Pfaff <tpfaff@gmx.net>
* libc/stdio/findfp.c (__sfp): Protect global FILE pointer list
        by a lock when newlib is multithreaded.
2004-01-22 22:06:57 +00:00
Jeff Johnston 403f752cb2 2004-01-19 Thomas Pfaff <tpfaff@gmx.net>
* libc/stdio/fclose.c (fclose): Release FILE as the last step.
        * libc/stdio/freopen.c (freopen): Ditto.
2004-01-19 21:30:34 +00:00
Christopher Faylor 85b6d63ba4 * libc/stdio/vfprintf.c: Add sys/lock.h include. 2004-01-17 04:29:54 +00:00
Jeff Johnston 4af71a917c 2004-01-16 Thomas Pfaff <tpfaff@gmx.net>
* 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-16 19:29:16 +00:00
Jeff Johnston 6a15098793 2004-01-15 Thomas Pfaff <tpfaff@gmx.net>
* 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.
2004-01-15 19:12:17 +00:00
Jeff Johnston 5d109bdeb0 2003-12-04 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* 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-12-05 01:42:26 +00:00
Jeff Johnston 6db165c2a5 2003-11-24 Artem B. Bityuckiy <mail_lists@mail.ru>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix check for 'C' format
        specifier to use ch instead of *fmt.
2003-11-24 18:39:04 +00:00
Jeff Johnston 759a097e72 2003-11-21 Artem B. Bityuckiy <mail_lists@mail.ru>
* libc/stdio/vfprintf.c (_VFPRINTF_R, get_arg): Move mb-specific
        code within checks for MB_CAPABLE.  For non-mb-capable platforms,
        use simple byte logic.
2003-11-22 01:07:24 +00:00
Jeff Johnston 4f6149d6f0 2003-11-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfscanf.c (__svfscanf_r)[!_NO_LONGDBL]: Don't use
        _strtold routine for processing floats and doubles since it
        is not as fast as _strtod_r.
2003-11-21 20:48:49 +00:00
Jeff Johnston 64cfc6f213 2003-11-19 Nicholas Wourms <nwourms@netscape.net>
* configure.host: Enable positional arguments for printf
        family for Cygwin.
        * libc/stdio/vfprintf.c (_VFPRINTF_R): Remove extraneous
        pointer reference for quad_ptr_t.
2003-11-19 17:07:36 +00:00
Jeff Johnston e1dc8171ae 2003-11-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/scanf.c: Don't include local.h more than once.
2003-11-19 16:57:51 +00:00
Jeff Johnston 2985521f84 2003-11-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix typos that should be
        referring to _NO_LONGLONG macro.
2003-11-07 16:01:17 +00:00
Jeff Johnston d2ffac097d 2003-11-05 Jeff Johnston <jjohnstn@redhat.com>
Artem B. Bityuckiy  <mail_lists@mail.ru>

        * libc/stdio/vfprintf.c (_VFPRINTF_R): Add support for
        %ls, %S, %lc, and %C format specifiers.
        (get_arg): Ditto.
        * libc/stdio/sprintf.c: Add documentation regarding new
        format specifiers added in vfprintf.c.
2003-11-06 00:50:57 +00:00
Jeff Johnston 76a7df5256 2003-10-20 Bob Wilson <bob.wilson@acm.org>
* libc/locale/locale.c: Use double quotes in code.
	* libc/locale/locale.tex: Likewise.
	* libc/libc.texinfo: Hyphenate "floating-point".
	* libc/machine/necv70/necv70.tex: Likewise.
	* libc/stdio/sprintf.c: Likewise.
	* libc/stdio/sscanf.c: Likewise.
	* libc/stdlib/atof.c: Likewise.
	* libc/stdlib/ldtoa.c: Fix comment typo.
	* libc/stdlib/div.c: Use @ifnottex instead of @ifinfo.
	* libc/stdlib/ldiv.c: Likewise.
	* libm/common/s_expm1.c: Likewise.
	* libm/common/s_ilogb.c: Hyphenate "floating-point".  Use "nonzero".
	* libm/common/s_infinity: Hyphenate "double- and single-precision".
	* libm/common/s_nan.c: Likewise.  Also correct the FUNCTION summary.
	* libm/common/s_nextafter.c: Fix typo.  Hyphenate "double-precision"
	and "floating-point".
	* libm/common/s_scalbn.c: Correct the FUNCTION summary.
	* libm/math/e_pow.c: Fix comment typo.
	* libm/math/math.tex: Hyphenate "single-precision" and "floating-point".
	* libm/math/s_asinh.c: Use @ifnottex instead of @ifinfo.
	* libm/math/s_atan.c: Likewise.
	* libm/math/s_frexp.c: Likewise.  Also use "nonzero".
	* libm/math/s_isnan.c: Hyphenate "single-precision" and
	"floating-point".  Use "nonzero".
	* libm/math/s_ldexp.c: Use @ifnottex instead of @ifinfo.
	* libm/math/w_acos.c: Likewise.
	* libm/math/w_acosh.c: Likewise.
	* libm/math/w_asin.c: Likewise.
	* libm/math/w_atan2.c: Likewise.
	* libm/math/w_atanh.c: Likewise.
	* libm/math/w_cosh.c: Likewise.
	* libm/math/w_exp.c: Likewise.
	* libm/math/w_exp2.c: Likewise.  Add missing @end and missing @tex
	version of 2^x in the description.
	* libm/math/w_fmod.c: Use @ifnottex instead of @ifinfo.
	* libm/math/w_gamma.c: Likewise.
	* libm/math/w_hypot.c: Likewise.
	* libm/math/w_j0.c: Likewise.
	* libm/math/w_sinh.c: Likewise.
	* libm/math/w_pow.c: Replace "exp1.0nt" with "exponent".
	* libm/mathfp/mathfp.tex: Hyphenate "single-precision" and
	"floating-point".
	* libm/mathfp/e_acosh.c: Use @ifnottex instead of @ifinfo.
	* libm/mathfp/e_atanh.c: Likewise.
	* libm/mathfp/e_hypot.c: Likewise.
	* libm/mathfp/er_lgamma.c: Likewise.
	* libm/mathfp/s_acos.c: Likewise.
	* libm/mathfp/s_asine.c: Likewise.
	* libm/mathfp/s_asinh.c: Likewise.
	* libm/mathfp/s_atan.c: Likewise.
	* libm/mathfp/s_atan2.c: Likewise.
	* libm/mathfp/s_atangent.c: Likewise.
	* libm/mathfp/s_cosh.c: Likewise.
	* libm/mathfp/s_exp.c: Likewise.
	* libm/mathfp/s_fmod.c: Likewise.
	* libm/mathfp/s_frexp.c: Likewise.  Also use "nonzero".
	* libm/mathfp/s_isnan.c: Hyphenate "single-precision" and
	"floating-point".  Use "nonzero".
	* libm/math/s_pow.c: Replace "exp1.0nt" with "exponent".
	* libm/mathfp/s_ldexp.c: Use @ifnottex instead of @ifinfo.
	* libm/mathfp/s_sineh.c: Likewise.
	* libm/mathfp/w_jn.c: Likewise.
2003-10-20 18:46:38 +00:00
Jeff Johnston 9fc9e1c916 2003-08-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h: Add _GLOBAL_REENT macro.
	* libc/stdio: Globally remove/replace all references to fp->_data.
	Replace with _REENT or _GLOBAL_REENT where appropriate.
	* libc/stdio/asprintf.c: Ditto.
	* libc/stdio/fclose.c: Ditto.
	* libc/stdio/fvwrite.c: Ditto.
	* libc/stdio/makebuf.c: Ditto.
	* libc/stdio/refill.c: Ditto.
	* libc/stdio/local.h: Ditto.
	* libc/stdio/setvbuf.c: Ditto.
	* libc/stdio/sscanf.c: Ditto.
	* libc/stdio/stdio.c: Ditto.
	* libc/stdio/ungetc.c: Ditto.
	* libc/stdio/vfscanf.c: Ditto.
	* libc/stdio/vsscanf.c: Ditto.
	* libc/stdio/fopen.c: Ditto.  Also use _fseek_r in _fopen_r.
	* libc/stdio/vasprintf.c: Ditto.  Also call _vfprintf_r directly.
	* libc/stdio/vsnprintf.c: Ditto.
	* libc/stdio/vsprintf.c: Ditto.
	* libc/stdio/fcloseall.c(fcloseall): Use _GLOBAL_REENT macro
	instead of _REENT to walk file list.
	* libc/stdio/fflush.c: Ditto.
	* libc/stdio/fgetpos.c: Add reentrant version and have regular
	version call reentrant version with _REENT argument.
	* libc/stdio/fsetpos.c: Ditto.
	* libc/stdio/fseek.c: Ditto.
	* libc/stdio/fseeko.c: Ditto.
	* libc/stdio/ftell.c: Ditto.
	* libc/stdio/ftello.c: Ditto.
	* libc/stdio/freopen.c: Ditto.
	* libc/stdio/findfp.c: Use _GLOBAL_REENT pointer when adding
	new files to chain.  Also use _GLOBAL_REENT pointer for
	cleaning up.
	* libc/stdio/fiprintf.c: Reformatted to minimize duplicate code.
	* libc/stdio/siprintf.c: Ditto.
	* libc/stdio/iprintf.c: Ditto.
	* libc/stdio/fprintf.c: Ditto.
	* libc/stdio/printf.c: Ditto.
	* libc/stdio/snprintf.c: Call _vfprintf_r directly.
	* libc/stdio/sprintf.c: Ditto.
	* libc/stdio/vprintf.c: Ditto.  Also add _REENT_ONLY check.
	* libc/stdio/rewind.c: Call _fseek_r directly.
	* libc/stdio/tmpfile.c: Call _fopen_r and _remove_r directly.
	* libc/stdio/vfprintf.c (_VFPRINTF_R): Change _r routines to use
	data pointer.
	(get_arg): Add extra struct _reent pointer argument.
	* libc/stdio64/fgetpos64.c: Add _r versions, remove any reference
	to fp->_data.
	* libc/stdio64/fopen64.c: Ditto.
	* libc/stdio64/freopen64.c: Ditto.
	* libc/stdio64/fsetpos64.c: Ditto.
	* libc/stdio64/ftello64.c: Ditto.
	* libc/stdio64/local64.h: Ditto.
	* libc/stdio64/stdio64.c: Ditto.
	* libc/stdio64/fseeko64.c: Ditto plus use _fstat_r instead of
	_fstat64_r for the meantime.
2003-08-22 18:52:25 +00:00
Jeff Johnston 42de559299 2003-07-29 Honda Hiroki <hhonda@ipflex.com>
* libc/stdio/vfprintf.c: Set output size to 1 when
        we have %f format with precision 0 and # flag not specified.
2003-07-29 20:45:11 +00:00
Corinna Vinschen 8a4b4764b8 * libc/ctype/ctype_.c: Remove checks for deprecated __CYGWIN32__.
* libc/include/stdio.h: Ditto.
	* libc/include/sys/config.h: Ditto.
	* libc/stdio/mktemp.c: Ditto.
2003-05-13 09:46:48 +00:00
Corinna Vinschen 837e070f31 * libc/locale/ldpart.c (__part_load_locale): Substitute
__CYGWIN_USE_BIG_TYPES__ by __USE_INTERNAL_STAT64.
	* libc/search/hash.c (__hash_open): Ditto.
	(init_hash): Ditto.
	* libc/stdio/fseek.c (fseek): Ditto.
	* libc/stdio/makebuf.c (__smakebuf): Ditto.
	* libc/stdio/mktemp.c (_gettemp): Ditto.
2003-05-13 09:19:15 +00:00
Corinna Vinschen 11e3a52072 * configure.host: Accomodate removing the libc/sys/cygwin dir.
* libc/locale/ldpart.c (__part_load_locale): Use 64 bit stat call
	if __CYGWIN_USE_BIG_TYPES__ is set.
	* libc/search/hash.c (__hash_open): Ditto.
	(init_hash): Ditto.
	* libc/stdio/fseek.c (fseek): Ditto.
	* libc/stdio/makebuf.c (__smakebuf): Ditto.
	* libc/stdio/mktemp.c (_gettemp): Ditto.
	* libc/sys/cygwin/Makefile.am: Remove.
	* libc/sys/cygwin/Makefile.in: Remove.
	* libc/sys/cygwin/aclocal.m4: Remove.
	* libc/sys/cygwin/configure: Remove.
	* libc/sys/cygwin/configure.in: Remove.
	* libc/sys/cygwin/crt0.c: Move to winsup/cygwin directory.
	* libc/sys/cygwin/sys/dirent.h: Move to winsup/cygwin/include/sys
	directory.
	* libc/sys/cygwin/sys/param.h: Ditto.
	* libc/sys/cygwin/sys/utime.h: Ditto.
	* libc/sys/cygwin/sys/utmp.h: Ditto.
2003-05-12 11:09:39 +00:00
Corinna Vinschen 31ee99a41e * libc/stdio/sscanf.c: Update flags description.
* libc/stdio/vfscanf.c: Add CHAR flag value to denote 8 bit target
	type.
	(__svfscanf_r): Add 'hh' and 'll' handling.
2003-04-01 16:27:52 +00:00
Jeff Johnston e6bdc6c5eb 2003-03-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfscanf.c (__svfscanf_r): For floating point conversion,
        count all characters used to create number against maximum width.
        * libc/machine/powerpc/vfscanf.c (__svfscanf_r): Ditto.
2003-03-20 17:23:57 +00:00