Commit Graph

180 Commits

Author SHA1 Message Date
Eric Blake 9a3ec8622b * libc/stdio/vfscanf.c (__SVFSCANF_R): Support scanf(%1$s).
Avoid warning when !FLOATING_POINT.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Simplify _NO_POS_ARGS
slightly.
2007-05-23 20:36:28 +00:00
Eric Blake 8aab2bc260 * libc/stdio/vfprintf.c [_WANT_IO_LONG_LONG]: Allow non-gcc
compilers.
* libc/stdio/vfscanf.c: Likewise.
2007-05-18 14:33:30 +00:00
Eric Blake 487e9075d0 * stdio/tmpfile.c: Include <sys/stat.h>.
* stdio64/tmpfile64.c: Ditto.
2007-05-17 12:10:29 +00:00
Eric Blake d009633d30 Close security hole in tmpfile.
* libc/stdio/tmpfile.c (_tmpfile_r): Avoid window between filename
generation and opening the fd.
* libc/stdio64/tmpfile64.c (_tmpfile64_r): Likewise.
2007-05-16 20:06:08 +00:00
Eric Blake 34507ce026 Reduce stack size of *printf.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix use of decimal point
in %f.  Avoid malloc when possible for %S.
(BUF): Improve stack locality by using smaller size.
(MAXEXPLEN, _PRINTF_FLOAT_TYPE): Define.
(exponent): Use smaller stack size.
2007-05-14 19:42:47 +00:00
Eric Blake 0962fe9178 Minimize printf/scanf size on platforms that don't need C99.
* acconfig.h (_WANT_IO_C99_FORMATS): New macro.
* newlib.hin (_WANT_IO_C99_FORMATS): Likewise.
* configure.in (newlib-io-c99-formats): New configure option.
(_WANT_IO_C99_FORMATS): Define appropriately.
* configure.host (*-linux*, cygwin): Default c99-formats to yes.
* libc/stdio/vfprintf.c (_VFPRINTF_R) [!_WANT_IO_C99_FORMATS]:
Cripple ' flag; hh, z, j, t sizes; a, A, F, C, S specifiers.
* libc/stdio/vfscanf.c (_VFSCANF_R) [!_WANT_IO_C99_FORMATS]:
Likewise.
* configure: Regenerate.
2007-05-11 20:09:00 +00:00
Eric Blake b8a37af936 * libc/stdio/vfprintf.c (_VFPRINTF_R, cvt, exponent, chclass)
(get_arg): Support '%a' and '%A'.
2007-05-11 13:09:44 +00:00
Eric Blake 81274c6726 Allow zero size with non-null buf in *asnprintf.
* libc/stdio/asnprintf.c (_asnprintf_r, asnprintf): Avoid free'ing
user's buf.
* libc/stdio/asniprintf.c (_asniprintf_r, asniprintf): Likewise.
* libc/stdio/vasniprintf.c (_vasniprintf_r): Likewise.
* libc/stdio/vasnprintf.c (_vasnprintf_r): Likewise.
2007-05-09 19:27:30 +00:00
Eric Blake 38ed4e5111 * libc/stdio/vfprintf.c: Fix typo in comments that breaks docs. 2007-05-08 03:59:13 +00:00
Eric Blake b9db529222 Add support for asnprintf, and improve *printf documentation.
* libc/stdio/Makefile.am (ELIX_SOURCES): Rename...
	(ELIX_2_SOURCES): ...to this.
	(ELIX_4_SOURCES): Add new variable.  Build asnprintf.
	(GENERAL_SOURCES): Move dprintf to ELIX_4_SOURCES.
	(CHEWOUT_FILES): Include diprintf in documentation.
	* libc/stdio/Makefile.in: Regenerate.
	* libc/stdio/diprintf.c: Improve documentation.
	* libc/stdio/dprintf.c: Likewise.
	* libc/stdio/siprintf.c: Likewise.
	* libc/stdio/sprintf.c: Likewise.
	* libc/stdio/vfprintf.c: Likewise.
	* libc/stdio/viprintf.c: Likewise.
	* libc/stdio/vsniprintf.c: Consolidate documentation.
	* libc/stdio/asiprintf.c: Refer to documentation.
	* libc/stdio/asprintf.c: Likewise.
	* libc/stdio/fiprintf.c: Likewise.
	* libc/stdio/fprintf.c: Likewise.
	* libc/stdio/iprintf.c: Likewise.
	* libc/stdio/printf.c: Likewise.
	* libc/stdio/sniprintf.c: Likewise.
	* libc/stdio/vdiprintf.c: Likewise.
	* libc/stdio/vdprintf.c: Likewise.
	* libc/stdio/vsiprintf.c: Likewise.
	* libc/stdio/fvwrite.c (__sfvwrite_r): Handle asnprintf.
	* libc/stdio/asniprintf.c (asniprintf, _asniprintf_r): New file.
	* libc/stdio/asnprintf.c (asnprintf, _asnprintf_r): New file.
	* libc/stdio/vasniprintf.c (vasniprintf, _vasniprintf_r): New
	file.
	* libc/stdio/vasnprintf.c (vasnprintf, _vasnprintf_r): New file.
	* libc/stdio/vdprintf.c (_vdprintf_r): Rewrite to avoid malloc in
	typical case.
	* libc/stdio/vdiprintf.c (_vdiprintf_r): Likewise.
	* libc/include/stdio.h: Add prototypes for new functions; sort
	existing functions.
2007-05-04 02:55:16 +00:00
Eric Blake b4f095585f * libc/stdio64/local64.h: Delete, move contents to...
* libc/stdio/local.h: ...here.
	* libc/stdio64/fdopen64.c: Update includes.
	* libc/stdio64/fopen64.c: Likewise.
	* libc/stdio64/freopen64.c: Likewise.
	* libc/stdio64/fseeko64.c: Likewise.
	* libc/stdio64/ftello64.c: Likewise.
	* libc/stdio/findfp.c (std) [__LARGE64_FILES]: Open stdin, stdout,
	and stderr with 64-bit offset.
	* libc/stdio/fseek.c (_fseek_r): Avoid compile warning.
	* libc/stdio/makebuf.c (__smakebuf_r): Likewise.
	* libc/stdio/mktemp.c (_gettemp): Likewise.
2007-05-01 23:03:36 +00:00
Jeff Johnston 8b36608695 2007-04-25 Eric Blake <ebb9@byu.net>
* libc/stdio/vfprintf.c (get_arg): Support %1$lc.  Simplify types
        that promote to int.
2007-04-25 19:47:36 +00:00
Eric Blake 5866c02352 * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't zero pad on infinity
or NaN with %05f.
2007-04-24 20:09:50 +00:00
Eric Blake 27e5e9ab05 * libc/stdio/vfprintf.c (_VFPRINTF_R): Avoid multibyte when not
_MB_CAPABLE.
2007-04-24 19:55:28 +00:00
Eric Blake 68f2517f72 * libc/include/limits.h (NL_ARGMAX): Define a default value.
* libc/stdio/vfprintf.c (MAX_POS_ARGS): Define in terms of
	NL_ARGMAX, if present.
2007-04-24 16:01:15 +00:00
Jeff Johnston 714d0b7a88 2007-04-23 Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>
* confsubdir.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS): New
        file.  Override Autoconf-2.59's version of these macros with
        fixed handling of multiple adjacent whitespace in arguments.
        * aclocal.m4: Regenerated forcefully.
        * configure: Ditto.
        * Makefile.in: Ditto.
        * libc/*Makefile.in: Ditto.
        * libc/*aclocal.m4: Ditto.
        * libc/*configure: Ditto.
        * libm/*Makefile.in: Ditto.
        * libm/*aclocal.m4: Ditto.
        * libm/*configure: Ditto.
2007-04-23 22:52:37 +00:00
Jeff Johnston 930b1861ce 2007-04-23 Brian Dessent <brian@dessent.net>
* libc/stdio/vfprintf.c (_vfprintf_r): When the alternate-form flag
        has been specified with types 'f', 'F', 'g', or 'G', ensure the
        trailing decimal is printed.
2007-04-23 21:55:31 +00:00
Jeff Johnston fb5750bfb4 2007-04-17 Brian Dessent <brian@dessent.net>
* libc/stdio/sscanf.c: Update documentation comments.
        * libc/stdio/vfscanf.c (__SVFSCANF_R): Handle j, t, and z modifiers.
2007-04-17 20:53:24 +00:00
Eric Blake ba3ccd633d * libc/stdio/vfprintf.c (_VFPRINTF_F, cvt): Don't confuse %F with %e.
(chclass): Recognize 'F', 'X', 'n', and not 'W'.
	(get_arg): Handle %1$F, %1$n.
2007-04-13 01:57:33 +00:00
Jeff Johnston db7aa4b168 2007-04-04 Eric Blake <ebb9@byu.net>
* libc/stdio/asiprintf.c (_asiprintf_r): Fix reentrancy.
	(asiprintf): Avoid overhead.
	* libc/stdio/asprintf.c (_asprintf_r): Fix reentrancy.
	(asprintf): Avoid overhead.
	* libc/stdio/diprintf.c (_diprintf_r, diprintf): New file.
	* libc/stdio/dprintf.c (_dprintf_r, dprintf): Use _DEFUN.
	* libc/stdio/fiprintf.c (_fiprintf_r): Add reentrant version.
	(fiprintf): Avoid overhead.
	* libc/stdio/fprintf.c (_fprintf_r): Add reentrant version.
	(fprintf): Avoid overhead.
	* libc/stdio/iprintf.c (_iprintf_r): Use _DEFUN.
	(iprintf): Avoid overhead.
	* libc/stdio/printf.c (_printf_r): Use _DEFUN.
	(printf): Avoid overhead.
	* libc/stdio/vasiprintf.c (vasiprintf): Reduce binary size.
	* libc/stdio/vasprintf.c (vasprintf): Reduce binary size.
	* libc/stdio/vdiprintf.c (_vdiprintf_r, vdiprintf): New file.
	* libc/stdio/vdprintf.c (vdprintf): Avoid overhead.
	* libc/stdio/vsiprintf.c (vsiprintf): Reduce binary size.
	* libc/stdio/vsniprintf.c (vsniprintf): Reduce binary size.
	* libc/stdio/vsnprintf.c (vsnprintf): Reduce binary size.
	* libc/stdio/vsprintf.c (vsprintf): Reduce binary size.
	* libc/stdio/Makefile.am (GENERAL_SOURCES): Add diprintf.c,
	vdiprintf.c.
	* libc/include/stdio.h (diprintf, _diprintf_r, vdiprintf)
	(_vdiprintf_r, _fiprintf_r, _vfiprintf_r): Add prototypes.
2007-04-04 18:32:49 +00:00
Jeff Johnston 826b5591dd 2007-03-15 Jeff Johnston <jjohnstn@redhat.com>
* configure.in: Add new --enable-newlib-reent-small option.
        * configure: Regenerated.
        * acconfig.h: Add _WANT_REENT_SMALL.
        * newlib.hin: Regenerated minus PACKAGE macros to add
        _WANT_REENT_SMALL macro.
        * libc/include/sys/config.h[_WANT_REENT_SMALL]: Set _REENT_SMALL
        if not already set.
        * libc/stdio/fflush.c[_REENT_SMALL]: Return immediately if
        there is no buffer.
        * libc/stdio/local.h[_REENT_SMALL]: Fix CHECK_INIT macro to
        use reentrant pointer passed in when resetting the file
        pointer to one of the std streams.
2007-03-15 21:32:13 +00:00
Jeff Johnston 14ba5e14d9 2007-03-15 Eric Blake <ebb9@byu.net>
* libc/stdio/local.h (cantwrite, FREEUB, FREELB): Make reentrant.
	(__smakebuf): Rename...
	(__smakebuf_r): to this.
	* libc/stdio/fvwrite.h (__swsetup_r): Rename, from __swsetup.
	* libc/stdio/makebuf.c (__smakebuf): Detect failed asprint
	allocation, then rename...
	(__smakebuf_r): ...to this and fix reentrancy.
	* libc/stdio/wsetup.c (__swsetup): Detect failed asprintf
	allocation, then rename...
	(__swsetup_r): ...to this and fix reentrancy.
	* libc/stdio/fseek.c (_fseek_r): Fix reentrancy.
	* libc/stdio/refill.c (__srefill_r): Likewise.
	* libc/stdio/fclose.c (_fclose_r): Likewise.
	* libc/stdio/fread.c (_fread_r): Likewise.
	* libc/stdio/freopen.c (_freopen_r): Likewise.
	* libc/stdio/wbuf.c (__swbuf_r): Likewise.
	* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.
	* libc/stdio/fvwrite.c (__sfvwrite_r): Set errno properly on
	failed asprintf allocation, and fix reentrancy.
	* libc/stdio/snprintf.c (snprintf, _snprintf_r): Report overflow,
	as required by POSIX.
	* libc/stdio/sniprintf.c (sniprintf, _sniprintf_r): Likewise.
	* libc/stdio/vsnprintf.c (vsnprintf, _vsnprintf_r): Likewise.
	* libc/stdio/vsniprintf.c (vsniprintf, _vsniprintf_r): Likewise.
2007-03-15 18:40:48 +00:00
Jeff Johnston 99304ce6c4 2007-03-12 Eric Blake <ebb9@byu.net>
* libc/stdio/fvwrite.c (__sfvwrite_r): Fix reentrancy.
        * libc/stdio/vasprintf.c (vasprintf, _vasprintf_r): Pass failed
        allocation to caller.
        * libc/stdio/asprintf.c (_asprintf_r, asprintf): Likewise.
        * libc/stdio/asiprintf.c (_asiprintf_r, asiprintf): Likewise.
        * libc/stdio/vasiprintf.c (vasiprintf, _vasiprintf_r): Likewise.
2007-03-12 20:30:08 +00:00
Jeff Johnston 0733ae3bca 2007-01-31 Kazunori Asayama <asayama@sm.sony.co.jp>
* configure.host: Define stdio directory as a variable.
	* libc/Makefile.am: Define stdio related names
	as macros.
	* libc/configure.in: Add detection routine of stdio directory.
	* libc/Makefile.in: Regenerated.
	* libc/configure: Ditto.
	* libc/argz/Makefile.in: Ditto.
	* libc/ctype/Makefile.in: Ditto.
	* libc/errno/Makefile.in: Ditto.
	* libc/iconv/Makefile.in: Ditto.
	* libc/iconv/ccs/Makefile.in: Ditto.
	* libc/iconv/ccs/binary/Makefile.in: Ditto.
	* libc/iconv/ces/Makefile.in: Ditto.
	* libc/iconv/lib/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.
2007-01-31 19:34:38 +00:00
Jeff Johnston 78b7c6f817 2006-12-18 Jeff Johnston <jjohnstn@redhat.com>
* aclocal.m4 */aclocal.m4: Regenerated using aclocal 1.9.6.
        * Makefile.in */Makefile.in: Regenerated using automake 1.9.6.
2006-12-18 20:32:52 +00:00
Jeff Johnston 4c0b8a072b 2006-12-14 Jeff Johnston <jjohnstn@redhat.com>
Eric Blake  <ebb9@byu.net>

        * libc/stdio/fflush.c (fflush): On seekable streams, always flush
        read but unused data.
        * libc/stdio/fclose.c (_fclose_r): Always flush streams, since
        even read streams may have side effects that must happen.
2006-12-14 22:47:12 +00:00
Jeff Johnston 7d79436443 2006-11-29 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/makebuf.c (__smakebuf): If dealing with
        an asprintf-family buffer, make the default initial size 64.
2006-11-30 00:35:57 +00:00
Jeff Johnston c4c7f13966 2006-11-29 Eric Blake <ebb9@byu.net>
* libc/stdio/fvwrite.c (__sfvwrite_r): Avoid off-by-one error in
        asprintf, as well as quadratic realloc behavior.
2006-11-29 21:36:54 +00:00
Jeff Johnston d1a2fe1a62 2006-11-14 Eric Blake <ebb9@byu.net>
* libc/stdio/vfprintf.c (_vfprintf_r): Support ' flag.
        (chclass): ' is a flag.  j, t, and z are modifiers.
2006-11-14 21:29:26 +00:00
Jeff Johnston e5e148d15b 2006-09-26 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h[_REENT_SMALL]: Do not allow macros
        for clearerr, feof, or fileno.
        * libc/include/sys/reent.h[_REENT_SMALL](struct _reent): Change
        the dummy std stream scheme to use pointers to const external
        fake files, one for each standard stream.
        * libc/stdio/local.h (CHECK_INIT): Change to take a file pointer
        argument.  For _REENT_SMALL, reset the file pointer if it
        matches one of the fake std stream pointers.
        * libc/stdio/clearerr.c: Fix CHECK_INIT macro to add file pointer
        argument.
        * libc/stdio/fclose.c: Ditto.
        * libc/stdio/feof.c: Ditto.
        * libc/stdio/ferror.c: Ditto.
        * libc/stdio/fflush.c: Ditto.
        * libc/stdio/fgetc.c: Ditto.
        * libc/stdio/fgets.c: Ditto.
        * libc/stdio/fileno.c: Ditto.
        * libc/stdio/findfp.c: Ditto.
        * libc/stdio/fputc.c: Ditto.
        * libc/stdio/fputs.c: Ditto.
        * libc/stdio/fread.c: Ditto.
        * libc/stdio/freopen.c: Ditto.
        * libc/stdio/fseek.c: Ditto.
        * libc/stdio/ftell.c: Ditto.
        * libc/stdio/fwrite.c: Ditto.
        * libc/stdio/getc.c: Ditto.
        * libc/stdio/getdelim.c: Ditto.
        * libc/stdio/putc.c: Ditto.
        * libc/stdio/refill.c: Ditto.
        * libc/stdio/setvbuf.c: Ditto.
        * libc/stdio/ungetc.c: Ditto.
        * libc/stdio/vfprintf.c: Ditto.
        * libc/stdio/vfscanf.c: Ditto.
        * libc/stdio/wbuf.c: Ditto.: Ditto.
        * libc/stdio/wsetup.c: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/machine/powerpc/vfprintf.c: Ditto.
        * libc/machine/powerpc/vfscanf.c: Ditto.
2006-09-26 21:22:19 +00:00
Jeff Johnston d39002f9ca 2006-09-06 Eric Blake <ebb9@byu.net>
* libc/stdio/vfprintf.c (_vfprintf_r, get_arg): Add 'hh', 'j',
        't', and 'z' modifiers.
2006-09-06 20:03:27 +00:00
Jeff Johnston 2ebf115df9 2006-08-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/Makefile.am: Add libc_TEXINFOS dependency on
        generated .texi files.
        * libm/Makefile.am: Add libm_TEXINFOS dependency on
        generated .texi files.
        * libc/Makefile.in: Regenerated.
        * libm/Makefile.in: Ditto.
2006-08-01 20:20:25 +00:00
Jeff Johnston 0a85d87f03 2006-07-31 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4: Check for readelf tool.
        * configure.in: Use ${READELF} instead of hard-coding.
        * Regenerate all aclocal.m4, Makefile.in, and configure files.
2006-07-31 23:01:28 +00:00
Jeff Johnston c8956c6fec 2006-06-15 Corinna Vinschen <corinna@vinschen.de>
* libc/include/stdio.h (__sgetc_r): Fix typo.
        * libc/stdio/fread.c (_fread_r): Convert crlf calls to crlf_r.
        * libc/stdio/rget.c (__srbuf): Reinstantiate.
        * libc/stdio/wbuf.c (__swbuf): Ditto.
2006-06-15 16:08:09 +00:00
Jeff Johnston 4dc0c0c4e5 2006-06-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h: Add new reentrant I/O prototypes for
        read/write functions.  Change getc/putc macros to have reentrant underlying
        macros/functions.  This includes __sgetc_raw_r, __sgetc_r, and __sputc_r.
        * libc/stdio/fgetc.c: Fix and/or add reentrant version to call
        new reentrant I/O functions/macros for reading/writing.
        * libc/stdio/fgets.c: Ditto.
        * libc/stdio/fputc.c: Ditto.
        * libc/stdio/fputs.c: Ditto.
        * libc/stdio/fread.c: Ditto.
        * libc/stdio/fseek.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio/fwrite.c: Ditto.
        * libc/stdio/getc.c: Ditto.
        * libc/stdio/getc_u.c: Ditto.
        * libc/stdio/getchar.c: Ditto.
        * libc/stdio/getchar_u.c: Ditto.
        * libc/stdio/putc.c: Ditto.
        * libc/stdio/putc_u.c: Ditto.
        * libc/stdio/putchar.c: Ditto.
        * libc/stdio/puts.c: Ditto.
        * libc/stdio/vfprintf.c: Ditto.
        * libc/stdio/vfscanf.c: Ditto.
        * libc/stdio/fvwrite.c: Change __sfvwrite into reentrant __sfvwrite_r.
        Change all previous callers of __sfvwrite.  Set errno to EBADF and
        set error flag on if attempt is made to write to file that does not
        allow writing.
        * libc/stdio/fvwrite.h: Fix new reentrant prototypes.
        * libc/stdio/local.h: Ditto.
        * libc/stdio/refill.c: Turn __srefill into reentrant __srefill_r.
        Set errno to EBADF and the error flag on if attempt is made to
        read unreadable file.  Change all previous callers of __srefill.
        * libc/stdio/rget.c
        * libc/stdio/wbuf.c: Turn __swbuf into reentrant __swbuf_r.  Change
        all previous callers of __swbuf.
        * libc/sys/linux/machine/i386/huge_val.h: Ifdef out file contents since
        huge value macros are already defined correctly for i386 by <math.h>.
2006-06-14 20:49:11 +00:00
Jeff Johnston 8f8f1db12f 2006-05-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/argz/Makefile.am: Prefix any objects specified with $(lpfx).  If source file can
        be specified instead of object, do so.
        * libc/ctype/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libc/machine/a29k/Makefile.am: Specify lib_a_CCASFLAGS so .S files will get
        prefix added automatically.  Any specified rules must use $(lpfx) for
        object file names.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/cris/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/i960/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.in: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sun4/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libc/machine/necv70/fastmath.S: Renamed from .s file.
        * libc/machine/necv70/setjmp.S: Ditto.
        * libc/machine/necv70/fastmath.s: Removed.
        * libc/machine/necv70/setjmp.s: Ditto.
        * libc/machine/w65/*.S: New files renamed from .s files.
        * libc/machine/w65/*.s: Renamed and removed.
        * libc/sys/a29khif/*.S: New files renamed from .s files.
        * libc/sys/a29khif/*.s: Renamed and removed.
        * libc/sys/sysvi386/*.S: New files renamed from .s files.
        * libc/sys/sysvi386/*.s: Renamed and removed.
        * libc/sys/sysvnecv70/*.S: New files renamed from .s files.
        * libc/sys/sysvnecv70/*.s: Renamed and removed.
        * libc/*Makefile.in: Regenerated as appropriate.
2006-05-01 22:01:07 +00:00
Jeff Johnston 7ad962240c 2006-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
* acinclude.m4: New _NEWLIB_VERSION.
        * acinclude.m4(NEWLIB_CONFIGURE): AC_REQUIRE(_NEWLIB_VERSION).
        Use AC_CANONICAL_HOST instead of AC_CANONICAL_SYSTEM.
        Use new form of AC_INIT_AUTOMAKE.
        * configure.in: AC_PREREQ(2.59).
        Use autoconf-2.5.x version of AC_INIT.
        Use AC_CONFIG_FILES and autoconf-2.5x AC_OUTPUT instead of
        autoconf-2.13's AC_OUTPUT.
        * libm/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libm/machine/i386/configure.in: Ditto.
        * libc/configure.in: Ditto.
        * libc/machine/a29k/configure.in: Ditto.
        * libc/machine/arm/configure.in: Ditto.
        * libc/machine/configure.in: Ditto.
        * libc/machine/mn10300/configure.in: Ditto.
        * libc/machine/powerpc/configure.in: Ditto.
        * libc/machine/z8k/configure.in: Ditto.
        * libc/machine/h8300/configure.in: Ditto.
        * libc/machine/mips/configure.in: Ditto.
        * libc/machine/crx/configure.in: Ditto.
        * libc/machine/m68hc11/configure.in: Ditto.
        * libc/machine/h8500/configure.in: Ditto.
        * libc/machine/xscale/configure.in: Ditto.
        * libc/machine/d10v/configure.in: Ditto.
        * libc/machine/fr30/configure.in: Ditto.
        * libc/machine/sh/configure.in: Ditto.
        * libc/machine/tic80/configure.in: Ditto.
        * libc/machine/m32r/configure.in: Ditto.
        * libc/machine/xstormy16/configure.in: Ditto.
        * libc/machine/i386/configure.in: Ditto.
        * libc/machine/d30v/configure.in: Ditto.
        * libc/machine/mn10200/configure.in: Ditto.
        * libc/machine/frv/configure.in: Ditto.
        * libc/machine/mt/configure.in: Ditto.
        * libc/machine/i960/configure.in: Ditto.
        * libc/machine/v850/configure.in: Ditto.
        * libc/machine/necv70/configure.in: Ditto.
        * libc/machine/tic4x/configure.in: Ditto.
        * libc/machine/cris/configure.in: Ditto.
        * libc/machine/m68k/configure.in: Ditto.
        * libc/machine/m32c/configure.in: Ditto.
        * libc/machine/hppa/configure.in: Ditto.
        * libc/machine/w65/configure.in: Ditto.
        * libc/machine/iq2000/configure.in: Ditto.
        * libc/machine/sparc/configure.in: Ditto.
        * libc/machine/m88k/configure.in: Ditto.
        * libc/sys/linux/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/linux/machine/i386/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
        * libc/sys/arm/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libc/sys/decstation/configure.in: Ditto.
        * libc/sys/a29khif/configure.in: Ditto.
        * libc/sys/sysnecv850/configure.in: Ditto.
        * libc/sys/d10v/configure.in: Ditto.
        * libc/sys/netware/configure.in: Ditto.
        * libc/sys/mmixware/configure.in: Ditto.
        * libc/sys/h8500hms/configure.in: Ditto.
        * libc/sys/sh/configure.in: Ditto.
        * libc/sys/tic80/configure.in: Ditto.
        * libc/sys/rdos/configure.in: Ditto.
        * libc/sys/sysmec/configure.in: Ditto.
        * libc/sys/sysvi386/configure.in: Ditto.
        * libc/sys/h8300hms/configure.in: Ditto.
        * libc/sys/sparc64/configure.in: Ditto.
        * libc/sys/arc/configure.in: Ditto.
        * libc/sys/sysnec810/configure.in: Ditto.
        * libc/sys/m88kbug/configure.in: Ditto.
        * libc/sys/sysvnecv70/configure.in: Ditto.
        * libc/sys/z8ksim/configure.in: Ditto.
        * libc/sys/rtems/configure.in: Ditto.
        * libc/sys/w65/configure.in: Ditto.
        * libc/sys/sun4/configure.in: Ditto.
        * doc/configure.in: Ditto.
        * iconvdata/configure.in: Ditto.
        * configure.in: Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER.
2006-04-13 19:56:32 +00:00
Jeff Johnston 34e666798a 2006-04-11 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4: Properly add square brackets for
        AC_DEFUN macros.  Rewrite LIB_AC_PROG_CC to remove
        macros no longer available.  Add LIB_AM_PROG_AS to
        remove prereq of AC_PROG_CC.  Add LIB_AC_PROG_CC_GNU
        macro.  Substitute lpfx (library object prefix).
        * configure.host: Set lpfx depending on whether
        libtool is used or not.
        * configure.in: Individually specify libc and libm
        to AC_CONFIG_SUBDIRS.  Add square bracket quoting as
        necessary.
        * Makefile.am: Use $(lpfx) to get object names for
        math-library functions that should also be in libc.
        * libc/machine/configure.in: Use case statement to determine
        AC_CONFIG_SUBDIRS statement.
        * libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
        * libc/sys/linux/machine/configure.in: Ditto.
        * libc/sys/configure.in: Ditto.
        * libm/machine/configure.in: Ditto.
        * libc/sys/linux/configure.in: Fix up AC_CONFIG_SUBDIRS.
        * libm/configure.in: Add AM_CONDITIONAL statement
        for HAVE_LIBM_MACHINE_DIR.
        * libc/machine/a29k/Makefile.am: Modified to work with
        latest automake.  Change includes setting AM_CCASFLAGS
        so building .S files will properly pick up flags used
        to build C files.
        * libc/machine/arm/Makefile.am: Ditto.
        * libc/machine/crx/Makefile.am: Ditto.
        * libc/machine/d10v/Makefile.am: Ditto.
        * libc/machine/d30v/Makefile.am: Ditto.
        * libc/machine/fr30/Makefile.am: Ditto.
        * libc/machine/frv/Makefile.am: Ditto.
        * libc/machine/h8300/Makefile.am: Ditto.
        * libc/machine/h8500/Makefile.am: Ditto.
        * libc/machine/hppa/Makefile.am: Ditto.
        * libc/machine/i386/Makefile.am: Ditto.
        * libc/machine/iq2000/Makefile.am: Ditto.
        * libc/machine/m32c/Makefile.am: Ditto.
        * libc/machine/m32r/Makefile.am: Ditto.
        * libc/machine/m68hc11/Makefile.am: Ditto.
        * libc/machine/m68k/Makefile.am: Ditto.
        * libc/machine/m88k/Makefile.am: Ditto.
        * libc/machine/mips/Makefile.am: Ditto.
        * libc/machine/mn10200/Makefile.am: Ditto.
        * libc/machine/mn10300/Makefile.am: Ditto.
        * libc/machine/mt/Makefile.am: Ditto.
        * libc/machine/necv70/Makefile.am: Ditto.
        * libc/machine/powerpc/Makefile.am: Ditto.
        * libc/machine/sh/Makefile.am: Ditto.
        * libc/machine/sparc/Makefile.am: Ditto.
        * libc/machine/tic4x/Makefile.am: Ditto.
        * libc/machine/tic80/Makefile.am: Ditto.
        * libc/machine/v850/Makefile.am: Ditto.
        * libc/machine/w65/Makefile.am: Ditto.
        * libc/machine/xscale/Makefile.am: Ditto.
        * libc/machine/xstormy16/Makefile.am: Ditto.
        * libc/machine/z8k/Makefile.am: Ditto.
        * libc/sys/a29khif/Makefile.am: Ditto.
        * libc/sys/arc/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto.
        * libc/sys/d10v/Makefile.am: Ditto.
        * libc/sys/decstation/Makefile.am: Ditto.
        * libc/sys/h8300hms/Makefile.am: Ditto.
        * libc/sys/h8500hms/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/machine/i386/Makefile.am: Ditto.
        * libc/sys/linux/machine/i386/Makefile.am: Ditto.
        * libc/sys/m88kbug/Makefile.am: Ditto.
        * libc/sys/mmixware/Makefile.am: Ditto.
        * libc/sys/netware/Makefile.am: Ditto.
        * libc/sys/rdos/Makefile.am: Ditto.
        * libc/sys/rtems/Makefile.am: Ditto.
        * libc/sys/sh/Makefile.am: Ditto.
        * libc/sys/sparc64/Makefile.am: Ditto.
        * libc/sys/sysmec/Makefile.am: Ditto.
        * libc/sys/sysnec810/Makefile.am: Ditto.
        * libc/sys/sysnecv850/Makefile.am: Ditto.
        * libc/sys/sysvi386/Makefile.am: Ditto.
        * libc/sys/sysvnecv70/Makefile.am: Ditto.
        * libc/sys/tic80/Makefile.am: Ditto.
        * libc/sys/w65/Makefile.am: Ditto.
        * libc/sys/z8ksim/Makefile.am: Ditto.
        * libm/machine/i386/Makefile.am: Ditto.
        * libc/sys/arm/Makefile.am: Ditto plus add EXTRA sources including
        trap.S so that automake will generate a .S.o suffix rule.
        * libc/argz/Makefile.am: Modified to work with
        latest automake.  Change includes adding lib_a_CFLAGS
        so automake doesn't complain about libtool and non-libtool
        libraries sharing objects.
        * libc/ctype/Makefile.am: Ditto.
        * libc/errno/Makefile.am: Ditto.
        * libc/iconv/ccs/Makefile.am: Ditto.
        * libc/iconv/ces/Makefile.am: Ditto.
        * libc/iconv/lib/Makefile.am: Ditto.
        * libc/locale/Makefile.am: Ditto.
        * libc/misc/Makefile.am: Ditto.
        * libc/posix/Makefile.am: Ditto.
        * libc/reent/Makefile.am: Ditto.
        * libc/search/Makefile.am: Ditto.
        * libc/signal/Makefile.am: Ditto.
        * libc/stdio/Makefile.am: Ditto.
        * libc/stdio64/Makefile.am: Ditto.
        * libc/stdlib/Makefile.am: Ditto.
        * libc/string/Makefile.am: Ditto.
        * libc/sys/linux/Makefile.am: Ditto.
        * libc/sys/linux/argp/Makefile.am: Ditto.
        * libc/sys/linux/cmath/Makefile.am: Ditto.
        * libc/sys/linux/dl/Makefile.am: Ditto.
        * libc/sys/linux/iconv/Makefile.am: Ditto.
        * libc/sys/linux/intl/Makefile.am: Ditto.
        * libc/sys/linux/linuxthreads/Makefile.am: Ditto.
        * libc/sys/linux/net/Makefile.am: Ditto.
        * libc/sys/linux/stdlib/Makefile.am: Ditto.
        * libc/syscalls/Makefile.am: Ditto.
        * libc/time/Makefile.am: Ditto.
        * libc/unix/Makefile.am: Ditto.
        * libm/Makefile.am: Ditto.
        * libm/common/Makefile.am: Ditto.
        * libm/math/Makefile.am: Ditto.
        * libm/mathfp/Makefile.am: Ditto.
        * Regenerate all aclocal.m4, Makefile.in, and configure files.
2006-04-11 19:02:16 +00:00
Jeff Johnston 6507c09718 2006-03-29 Eric Blake <ebb9@byu.net>
* libc/stdio/freopen.c (_freopen_r) [__SCLE]: Fix typo.
        * libc/stdio64/freopen64.c (_freopen64_r) [__SCLE]: Likewise.
2006-03-29 21:57:21 +00:00
Jeff Johnston 490cfb83e9 2006-03-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/wsetup.c (__swsetup): Don't make a buffer
        for a string I/O file that isn't using the asprintf family.
2006-03-15 22:38:59 +00:00
Jeff Johnston ce10f1789e 2006-03-07 Eric Blake <ebb9@byu.net>
* libc/stdio/freopen.c (_freopen_r) [HAVE_FCNTL]: For NULL
        filename, allow read-only or write-only FILE atop O_RDWR file
        descriptor.
        * libc/stdio64/freopen64.c (_freopen64_r) [HAVE_FCNTL]: Likewise.
2006-03-07 22:20:18 +00:00
Jeff Johnston 99db626d21 2006-02-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/fflush.c (fflush): For an fflush on a read-only
        stream, turn off fseek/rewind optimization as per POSIX/SUSv3.
        * libc/stdio/fseek.c (_fseek_r): After a successful unoptimized
        seek, turn off the __SNPT no-optimization flag.
2006-02-20 23:24:00 +00:00
Jeff Johnston dea958bc06 2006-01-10 Eric Blake <ebb9@byu.net>
* libc/stdio/freopen.c (_freopen_r): Fix use of oflags.
	* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
2006-01-10 17:09:43 +00:00
Jeff Johnston 64ae8ab5f0 2006-01-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/freopen.c: Switch to use isatty instead of _isatty.
        * libc/stdio64/freopen64.c: Ditto.
2006-01-09 20:01:09 +00:00
Jeff Johnston 0da7297ef1 2006-01-09 Eric Blake <ebb9@byu.net>
* libc/stdio/freopen.c (_freopen_r): Accept NULL filename.
        * libc/stdio64/freopen64.c (_freopen64_r): Likewise.
2006-01-09 17:51:01 +00:00
Jeff Johnston 884c0ff016 2005-10-28 Bob Wilson <bob.wilson@acm.org>
* libc/stdio/siprintf.c: Wrap long lines in ANSI_SYNOPSIS.
        * libc/stdio/siscanf.c: Likewise.
        * libc/stdio/sprintf.c: Likewise.
        * libc/stdio/sscanf.c: Likewise.
        * libc/stdio/vfprintf.c: Likewise.
        * libc/stdio/vfscanf.c: Likewise.
        * libc/stdio/viprintf.c: Likewise.
        * libc/stdio/viscanf.c: Likewise.
2005-10-28 21:38:59 +00:00
Jeff Johnston 239c2bf93e 2005-10-28 Bob Wilson <bob.wilson@acm.org>
* libc/misc/unctrl.c: Replace FUNCTION description.
        * libc/signal/signal.c: Remove documentation for raise and  _raise_r.
        * libc/stdio/getdelim.c: Fix spelling errors.
        * libc/stdio/getw.c: Put RETURNS on a separate line.  Fix  punctuation.
        * libc/stdio/putw.c: Likewise.
        * libc/stdlib/a64l.c: Fix formatting, spelling and  punctuation in
        documentation.
        * libc/stdlib/assert.c: Do not capitalize FUNCTION description.
        * libc/stdlib/efgcvt.c: Add spaces to FUNCTION description.
        * libc/stdlib/envlock.c: Use em-dash in FUNCTION description.
        * libc/stdlib/mlock.c: Likewise.
        * libc/stdlib/mstats.c: Likewise.
        * libc/time/tzlock.c: Likewise.
        * libc/stdlib/rand.c: Use "multi-threaded" and "thread-safe"  in NOTES.
        * libc/stdlib/rand48.c: Remove extra space in FUNCTION  description
        and hyphenate "pseudo-random".
        * libc/string/bcmp.c: Remove extra blank lines in  documentation.
        * libc/string/strncat.c: Likewise.
        * libc/string/memchr.c: Remove extra ">" character in  documentation.
        * libc/string/strcspn.c: Use "characters" instead of "chars".
        * libc/string/strpbrk.c: Likewise.
        * libc/string/strerror_r.c: Capitalize "GNU".
        * libc/string/strnlen.c: Likewise.
        * libc/string/strtok.c: Fix formatting, spelling and  punctuation in
        documentation.  Use "multi-threaded" and "thread-safe" in  NOTES.
        * libc/string/wcscat.c: Split PORTABILITY into two paragraphs.
        * libc/string/wcschr.c: Likewise.
        * libc/string/wcscmp.c: Likewise.
        * libc/string/wcscpy.c: Likewise.
        * libc/string/wcscspn.c: Likewise.
        * libc/string/wcslen.c: Likewise.
        * libc/string/wcsncat.c: Likewise.
        * libc/string/wcsncmp.c: Likewise.
        * libc/string/wcsncpy.c: Likewise.
        * libc/string/wcsnlen.c: Likewise.
        * libc/string/wcspbrk.c: Likewise.
        * libc/string/wcsrchr.c: Likewise.
        * libc/string/wcsspn.c: Likewise.
        * libc/string/wmemchr.c: Likewise.
        * libc/string/wmemcmp.c: Likewise.
        * libc/string/wmemcpy.c: Likewise.
        * libc/string/wmemset.c: Likewise.
        * libc/string/wmemmove.c: Likewise.  Also fix FUNCTION  description.
        * libc/string/wcswidth.c: Formatting and punctuation in  documentation.
        * libc/string/wcwidth.c: Likewise.
        * libm/common/s_modf.c: Remove extra period from documentation.
        * libm/math/s_isnan.c: Fix formatting, grammar and  punctuation in
        documentation.
        * libm/mathfp/s_isnan.c: Likewise.
        * libm/math/s_ldexp.c: Fix punctuation.
        * libm/mathfp/s_ldexp.c: Likewise.
        * libm/math/w_log.c: Likewise.
        * libm/mathfp/s_logarithm.c: Likewise.
        * libm/math/w_j0.c: Add spaces to FUNCTION description.
        * libm/mathfp/w_jn.c: Likewise.
2005-10-28 21:21:08 +00:00
Jeff Johnston 1012585f1f 2005-10-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix up "inf" and
        "nan" processing for systems that have long double support.
2005-10-14 21:03:13 +00:00
Jeff Johnston 339195bf12 2005-10-11 Shaun Jackman <sjackman@gmail.com>
* libc/include/stdio.h (dprintf): New declaration.
        (vdprintf): Ditto.
        * libc/stdio/Makefile.am (GENERAL_SOURCES): Add dprintf.c
        and vdprintf.c.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/dprintf.c: New file.
        * libc/stdio/vdprintf.c: New file.
        * libc/stdio/stdio.tex (dprintf): New entry.
2005-10-11 23:59:32 +00:00
Jeff Johnston da71e51811 2005-10-11 David Weatherford <weath@tensilica.com>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Recognize 'F' format.
        Print "inf" and "nan" in lowercase for e/f/g formats and in
        uppercase for E/F/G formats.
2005-10-11 22:51:37 +00:00