Commit Graph

265 Commits

Author SHA1 Message Date
Jeff Johnston cdb0b90956 2008-12-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/stdio.tex: Remove putwc and getwc references as they
        are included as part of fputwc and fgetwc, respectively.
2008-12-15 20:31:47 +00:00
Jeff Johnston c43663737c 2008-12-12 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/stdio/fputws.c: Fix documentation.
        * libc/stdio/getwchar.c: Ditto.
        * libc/stdio/putwchar.c: Ditto.
2008-12-12 17:21:08 +00:00
Corinna Vinschen 6897665e67 * libc/stdio/freopen.c: Add <string.h> for memset prototype.
* libc/stdio/fseek.c:  Ditto.
	* libc/stdio/fwide.c:  Add <wchar.h> for fwide prototype.
2008-12-12 15:45:19 +00:00
Jeff Johnston 7dd0c33097 2008-12-11 Craig Howland <howland@LGSInnovations.com>
* libc/include/sys/lock.h:  Add void cast to avoid "statement has no
        effect" warnings from gcc.
        * libc/include/sys/stdio.h:  Ditto.
        * libc/include/sys/time.h:  Correct gettimeofday() prototype.
        * libc/stdlib/__exp10.c:  Add #include "std.h" for function prototype.
        * libc/stdlib/__ten_mu.c:  Ditto.
        * libc/stdlib/std.h:  Correct __exp10's ANSI prototype.
        * libc/stdlib/ldtoa.c:  Change eiisinf definition to ANSI form.  (Are
        already others in file without _ansi method, so did not bother.)
        * libc/stdlib/system.c:  Use _ansi forms for function prototypes and
        definitions.
        * libc/time/mktime.c:  Ditto.
        * libc/misc/__dprintf.c:  Ditto.
        * libc/include/stdio.h:  Add function prototypes for _fgetc_r,
        _fgetpos_r, _fsetpos_r, _freopen_r, _rewind_r, freopen64, _freopen64_r,
        _funopen_r, and _fopencookie_r.
        * libc/include/reent.h:  Add function prototype for _stat64_r, align
        _execve_r prototype with POSIX definition for execve.
        * libc/reent/execr.c:  Align function prototype with POSIX definition.
        * libc/stdio/asniprintf.c:  Add #include "local.h".
        * libc/stdio/vasniprintf.c:  Ditto.
        * libc/stdio/fread.c:  Remove unused variable newcount.
        * libc/stdio/local.h:  Add function prototype for __sccl.
        * libc/stdio/open_memstream.c:  Remove unused variable flags.
        * libc/stdio/vfscanf.c:  Proper prototyping for ccfn, remove prototype
        for __sccl since now in local.h.
        * libc/string/memcpy.c:  Add #include <string.h> (for real and for
        traditional synopsis), remove extraneous stddef.h and limits.h.
        * libc/syscalls/sysclose.c:  Add #include <unistd.h>.
        * libc/syscalls/sysfork.c:  Ditto.
        * libc/syscalls/sysgetpid.c:  Ditto.
        * libc/syscalls/sysexecve.c:  Add #include <unistd.h>, align function
        prototype with POSIX definition.
        * libc/syscalls/sysfstat.c:  Add #include <sys/stat.h>.
        * libc/syscalls/sysgettod.c:  Correct sys/times.h to sys/time.h.
        * libc/syscalls/syskill.c:  Add #include <signal.h>.
        * libc/syscalls/syslink.c:  Add #include <unistd.h>, fix prototype.
        * libc/syscalls/sysunlink.c:  Ditto.
        * libc/syscalls/sysstat.c:  Add #include <sys/stat.h>, fix prototype.
        * libc/syscalls/syswait.c:  Add #include <sys/wait.h>, fix prototype.
2008-12-11 17:27:56 +00:00
Jeff Johnston 0751f22675 2008-12-10 Corinna Vinschen <corinna@vinschen.de>
Implement basic wide char stdio functionality, based on FreeBSD.
        * libc/include/stdio.h (__SORD): Define.
        (__SWID): Define.
        * libc/include/wchar.h: Add declarations for new wide char functions.
        (getwc): Define as macro.
        (getwchar): Ditto.
        (putwc): Ditto.
        (putwchar): Ditto.
        * libc/include/sys/reent.h (struct __sFILE): Add _mbstate member.
        (struct __sFILE64): Ditto.
        * libc/stdio/Makefile.am (ELIX_4_SOURCES): Add fgetwc.c, fgetws.c,
        fputwc.c, fputws.c, fwide.c, getwc.c, getwchar.c, putwc.c, putwchar.c
        and ungetwc.c.
        (CHEWOUT_FILES): Add fgetwc.def, fgetws.def, fputwc.def, fputws.def,
        fwide.def, getwc.def, getwchar.def, putwc.def, putwchar.def and
        ungetwc.def.
        Add header dependency rules for the new files.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/fgetwc.c: New file, implementing fgetwc and _fgetwc_r.
        * libc/stdio/fgetws.c: New file, implementing fgetws and _fgetws_r.
        * libc/stdio/findfp.c (std): Initialize FILE's _mbstate member.
        (__sfmoreglue): Ditto.
        * libc/stdio/fputs.c (_fputs_r): Set stream orientation.
        * libc/stdio/fputwc.c: New file, implementing fputwc and _fputwc_r.
        * libc/stdio/fputws.c: New file, implementing fputws and _fputws_r.
        * libc/stdio/fread.c (_fread_r): Set stream orientation.
        * libc/stdio/freopen.c (_freopen_r): Reset stream orientation.  Reset
        _mbstate.
        * libc/stdio/fseek.c (_fseek_r): Reset _mbstate.
        * libc/stdio/fwide.c: New file, implementing fwide and _fwide_r.
        * libc/stdio/fwrite.c (_fwrite_r): Set stream orientation.
        * libc/stdio/getwc.c: New file, implementing getwc and _getwc_r.
        * libc/stdio/getwchar.c: New file, implementing getwchar and
        _getwchar_r.
        * libc/stdio/local.h (ORIENT): New macro.
        * libc/stdio/puts.c (_puts_r): Set stream orientation.
        * libc/stdio/putwc.c: New file, implementing putwc and _putwc_r.
        * libc/stdio/putwchar.c: New file, implementing putwchar and
        _putwchar_r.
        * libc/stdio/refill.c (__srefill_r): Set stream orientation.
        * libc/stdio/stdio.tex: Add documentation for new functions.
        * libc/stdio/ungetc.c (_ungetc_r): Set stream orientation.
        * libc/stdio/ungetwc.c: New file, implementing ungetwc and _ungetwc_r.
        * libc/stdio/vfscanf.c (__SVFSCANF_R): Set stream orientation.
        * libc/stdio/wbuf.c (__swbuf_r): Ditto.
2008-12-10 23:43:12 +00:00
Corinna Vinschen a11451b353 * libc/stdio/gets.c (_gets_r): Lock stdin here and call
__sgetc_r instead of _getchar_r.
2008-11-25 09:33:43 +00:00
Jeff Johnston 6818a5c539 2008-11-24 Craig Howland <howland@LGSInnovations.com>
* libc/stdlib/wcstoull_r.c:  Add EINVAL return for bad base value,
        include wchar.h for prototype, remove extraneous includes, use
        C99/POSIX ULLONG_MAX (but allow for poor limits.h).
        * libc/stdlib/wcstoull.c:  Fix usage comments (mistakes and to add
        base value check noted above), remove extraneous includes.
        * libc/stdio/asnprintf.c:  Add #include "local.h" to get function
        prototype for _svfprintf_r().
        * libc/stdio/vasnprintf.c:  Ditto.
        * libc/stdio/local.h:  Add function prototype for __submore().
        * libc/include/stdio.h:  Add function prototypes for _fseeko_r and
        _ftello_r.
        * libc/posix/namespace.h:  Commented out define for write to
        eliminate write() prototype being missing for collate.c (which is
        the only file that presently includes namespace.h).
        * libc/include/reent.h:  Added _rename_r.
        * libc/reent/renamer.c:  Corrected function prototypes in synopses.
        * libc/locale/ldpart.c:  Use struct stat64 when calling fstat64.
2008-11-24 22:08:02 +00:00
Jeff Johnston 0aca33c823 2008-11-24 Craig Howland <howland@LGSInnovations.com>
* libc/stdlib/wcstoull_r.c:  Add EINVAL return for bad base value,
        include wchar.h for prototype, remove extraneous includes, use
        C99/POSIX ULLONG_MAX (but allow for poor limits.h).
        * libc/stdlib/wcstoull.c:  Fix usage comments (mistakes and to add
        base value check noted above), remove extraneous includes.
        * libc/stdio/asnprintf.c:  Add #include "local.h" to get function
        prototype for _svfprintf_r().
        * libc/stdio/vasnprintf.c:  Ditto.
        * libc/stdio/local.h:  Add function prototype for __submore().
        * libc/include/stdio.h:  Add function prototypes for _fseeko_r and
        _ftello_r.
        * libc/posix/namespace.h:  Commented out define for write to
        eliminate write() prototype being missing for collate.c (which is
        the only file that presently includes namespace.h).
        * libc/include/reent.h:  Added _rename_r.
        * libc/reent/renamer.c:  Corrected function prototypes in synopses.
        * libc/locale/ldpart.c:  Use struct stat64 when calling fstat64.
2008-11-24 21:27:33 +00:00
Corinna Vinschen 14773e10a0 * libc/include/stdio.h (__SMOD): Remove definition of unused flag.
* libc/include/sys/reent.h (struct __sFILE): Add _flags2 member.
	* libc/stdio/findfp.c (std): Initialize _flags2.
	(__sfp): Ditto.
	* libc/stdio/refill.c (__srefill_r): Drop resetting __SMOD flag.
	* libc/stdio/vfscanf.c (__ssrefill_r): Ditto.
	* libc/stdio/fseek.c (_fseek_r): Drop checking __SMOD flag.
	* libc/stdio64/fseeko64.c (_fseeko64_r): Ditto.
2008-11-24 17:15:43 +00:00
Jeff Johnston 1dc1ccd4ae 2008-10-31 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/diprintf.c: Modify documentation so eclipse newlib
        libhover docs generate properly.
        * libc/stdio/dprintf.c: Ditto.
        * libc/stdio/fflush.c: Ditto.
        * libc/stdio/fopencookie.c: Ditto.
        * libc/stdio/fread.c: Ditto.
        * libc/stdio/fsetpos.c: Ditto.
        * libc/stdio/getc_u.c: Ditto.
        * libc/stdio/getchar_u.c: Ditto.
        * libc/stdio/putc_u.c: Ditto.
        * libc/stdio/putchar_u.c: Ditto.
        * libc/stdio/remove.c: Ditto.
        * libc/stdio/siprintf.c: Ditto.
        * libc/stdio/siscanf.c: Ditto.
        * libc/stdio/sprintf.c: Ditto.
        * libc/stdio/sscanf.c: Ditto.
        * libc/stdio/vfprintf.c: Ditto.
        * libc/stdio/vfscanf.c: Ditto.
        * libc/stdio/viprintf.c: Ditto.
        * libc/stdio/viscanf.c: Ditto.
        * libc/stdlib/calloc.c: Ditto.
        * libc/stdlib/efgcvt.c: Ditto.
        * libc/stdlib/envlock.c: Ditto.
        * libc/time/asctime.c: Ditto.
        * libc/time/ctime.c: Ditto.
        * libc/time/gmtime.c: Ditto.
        * libc/time/lcltime.c: Ditto.
        * libc/time/tzset.c: Ditto.
        * libc/stdlib/envlock.h: Moved to libc/include.
2008-10-31 21:08:03 +00:00
Jeff Johnston 236e5c4017 2008-10-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfscanf.c (__ssvfiscanf_r): Do not support %lc, %C, %ls or
	%S conversions when the EL/IX level is 1.
2008-10-15 19:33:10 +00:00
Steve Ellcey fab8d8d808 * configure: Regenerate for new libtool.
* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* newlib.hin: Ditto.
	* doc/Makefile.in: Ditto.
	* doc/configure: Ditto.
	* iconvdata/Makefile.in: Ditto.
	* iconvdata/aclocal.m4: Ditto.
	* iconvdata/configure: Ditto.
	* libc/Makefile.in: Ditto.
	* libc/aclocal.m4: Ditto.
	* 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/machine/Makefile.in: Ditto.
	* libc/machine/aclocal.m4: Ditto.
	* libc/machine/configure: Ditto.
	* libc/machine/a29k/Makefile.in: Ditto.
	* libc/machine/a29k/configure: Ditto.
	* libc/machine/arm/Makefile.in: Ditto.
	* libc/machine/arm/configure: Ditto.
	* libc/machine/bfin/Makefile.in: Ditto.
	* libc/machine/bfin/configure: Ditto.
	* libc/machine/cris/Makefile.in: Ditto.
	* libc/machine/cris/configure: Ditto.
	* libc/machine/crx/Makefile.in: Ditto.
	* libc/machine/crx/configure: Ditto.
	* libc/machine/d10v/Makefile.in: Ditto.
	* libc/machine/d10v/configure: Ditto.
	* libc/machine/d30v/Makefile.in: Ditto.
	* libc/machine/d30v/configure: Ditto.
	* libc/machine/fr30/Makefile.in: Ditto.
	* libc/machine/fr30/configure: Ditto.
	* libc/machine/frv/Makefile.in: Ditto.
	* libc/machine/frv/configure: Ditto.
	* libc/machine/h8300/Makefile.in: Ditto.
	* libc/machine/h8300/configure: Ditto.
	* libc/machine/h8500/Makefile.in: Ditto.
	* libc/machine/h8500/configure: Ditto.
	* libc/machine/hppa/Makefile.in: Ditto.
	* libc/machine/hppa/configure: Ditto.
	* libc/machine/i386/Makefile.in: Ditto.
	* libc/machine/i386/aclocal.m4: Ditto.
	* libc/machine/i386/configure: Ditto.
	* libc/machine/i960/Makefile.in: Ditto.
	* libc/machine/i960/configure: Ditto.
	* libc/machine/iq2000/Makefile.in: Ditto.
	* libc/machine/iq2000/configure: Ditto.
	* libc/machine/m32c/Makefile.in: Ditto.
	* libc/machine/m32c/configure: Ditto.
	* libc/machine/m32r/Makefile.in: Ditto.
	* libc/machine/m32r/configure: Ditto.
	* libc/machine/m68hc11/Makefile.in: Ditto.
	* libc/machine/m68hc11/configure: Ditto.
	* libc/machine/m68k/Makefile.in: Ditto.
	* libc/machine/m68k/configure: Ditto.
	* libc/machine/m88k/Makefile.in: Ditto.
	* libc/machine/m88k/configure: Ditto.
	* libc/machine/mep/Makefile.in: Ditto.
	* libc/machine/mep/configure: Ditto.
	* libc/machine/mips/Makefile.in: Ditto.
	* libc/machine/mips/configure: Ditto.
	* libc/machine/mn10200/Makefile.in: Ditto.
	* libc/machine/mn10200/configure: Ditto.
	* libc/machine/mn10300/Makefile.in: Ditto.
	* libc/machine/mn10300/configure: Ditto.
	* libc/machine/mt/Makefile.in: Ditto.
	* libc/machine/mt/configure: Ditto.
	* libc/machine/necv70/Makefile.in: Ditto.
	* libc/machine/necv70/configure: Ditto.
	* libc/machine/powerpc/Makefile.in: Ditto.
	* libc/machine/powerpc/configure: Ditto.
	* libc/machine/sh/Makefile.in: Ditto.
	* libc/machine/sh/configure: Ditto.
	* libc/machine/sparc/Makefile.in: Ditto.
	* libc/machine/sparc/configure: Ditto.
	* libc/machine/spu/Makefile.in: Ditto.
	* libc/machine/spu/configure: Ditto.
	* libc/machine/tic4x/Makefile.in: Ditto.
	* libc/machine/tic4x/configure: Ditto.
	* libc/machine/tic80/Makefile.in: Ditto.
	* libc/machine/tic80/configure: Ditto.
	* libc/machine/v850/Makefile.in: Ditto.
	* libc/machine/v850/configure: Ditto.
	* libc/machine/w65/Makefile.in: Ditto.
	* libc/machine/w65/configure: Ditto.
	* libc/machine/x86_64/Makefile.in: Ditto.
	* libc/machine/x86_64/configure: Ditto.
	* libc/machine/xscale/Makefile.in: Ditto.
	* libc/machine/xscale/configure: Ditto.
	* libc/machine/xstormy16/Makefile.in: Ditto.
	* libc/machine/xstormy16/configure: Ditto.
	* libc/machine/z8k/Makefile.in: Ditto.
	* libc/machine/z8k/configure: 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/sys/Makefile.in: Ditto.
	* libc/sys/aclocal.m4: Ditto.
	* libc/sys/configure: Ditto.
	* libc/sys/a29khif/Makefile.in: Ditto.
	* libc/sys/a29khif/configure: Ditto.
	* libc/sys/arc/Makefile.in: Ditto.
	* libc/sys/arc/configure: Ditto.
	* libc/sys/arm/Makefile.in: Ditto.
	* libc/sys/arm/configure: Ditto.
	* libc/sys/d10v/Makefile.in: Ditto.
	* libc/sys/d10v/configure: Ditto.
	* libc/sys/decstation/Makefile.in: Ditto.
	* libc/sys/decstation/configure: Ditto.
	* libc/sys/h8300hms/Makefile.in: Ditto.
	* libc/sys/h8300hms/configure: Ditto.
	* libc/sys/h8500hms/Makefile.in: Ditto.
	* libc/sys/h8500hms/configure: Ditto.
	* libc/sys/linux/Makefile.in: Ditto.
	* libc/sys/linux/aclocal.m4: Ditto.
	* libc/sys/linux/configure: Ditto.
	* libc/sys/linux/argp/Makefile.in: Ditto.
	* libc/sys/linux/cmath/Makefile.in: Ditto.
	* libc/sys/linux/dl/Makefile.in: Ditto.
	* libc/sys/linux/iconv/Makefile.in: Ditto.
	* libc/sys/linux/intl/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/configure: Ditto.
	* libc/sys/linux/linuxthreads/machine/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/machine/configure: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/Makefile.in: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/aclocal.m4: Ditto.
	* libc/sys/linux/linuxthreads/machine/i386/configure: Ditto.
	* libc/sys/linux/machine/Makefile.in: Ditto.
	* libc/sys/linux/machine/aclocal.m4: Ditto.
	* libc/sys/linux/machine/configure: Ditto.
	* libc/sys/linux/machine/i386/Makefile.in: Ditto.
	* libc/sys/linux/machine/i386/aclocal.m4: Ditto.
	* libc/sys/linux/machine/i386/configure: Ditto.
	* libc/sys/linux/net/Makefile.in: Ditto.
	* libc/sys/linux/stdlib/Makefile.in: Ditto.
	* libc/sys/m88kbug/Makefile.in: Ditto.
	* libc/sys/m88kbug/configure: Ditto.
	* libc/sys/mmixware/Makefile.in: Ditto.
	* libc/sys/mmixware/configure: Ditto.
	* libc/sys/netware/Makefile.in: Ditto.
	* libc/sys/netware/configure: Ditto.
	* libc/sys/rdos/Makefile.in: Ditto.
	* libc/sys/rdos/configure: Ditto.
	* libc/sys/rtems/Makefile.in: Ditto.
	* libc/sys/rtems/configure: Ditto.
	* libc/sys/sh/Makefile.in: Ditto.
	* libc/sys/sh/configure: Ditto.
	* libc/sys/sparc64/Makefile.in: Ditto.
	* libc/sys/sparc64/configure: Ditto.
	* libc/sys/sun4/Makefile.in: Ditto.
	* libc/sys/sun4/configure: Ditto.
	* libc/sys/sysmec/Makefile.in: Ditto.
	* libc/sys/sysmec/configure: Ditto.
	* libc/sys/sysnec810/Makefile.in: Ditto.
	* libc/sys/sysnec810/configure: Ditto.
	* libc/sys/sysnecv850/Makefile.in: Ditto.
	* libc/sys/sysnecv850/configure: Ditto.
	* libc/sys/sysvi386/Makefile.in: Ditto.
	* libc/sys/sysvi386/configure: Ditto.
	* libc/sys/sysvnecv70/Makefile.in: Ditto.
	* libc/sys/sysvnecv70/configure: Ditto.
	* libc/sys/tic80/Makefile.in: Ditto.
	* libc/sys/tic80/configure: Ditto.
	* libc/sys/w65/Makefile.in: Ditto.
	* libc/sys/w65/configure: Ditto.
	* libc/sys/z8ksim/Makefile.in: Ditto.
	* libc/sys/z8ksim/configure: Ditto.
	* libc/syscalls/Makefile.in: Ditto.
	* libc/time/Makefile.in: Ditto.
	* libc/unix/Makefile.in: Ditto.
	* libm/Makefile.in: Ditto.
	* libm/aclocal.m4: Ditto.
	* libm/configure: Ditto.
	* libm/common/Makefile.in: Ditto.
	* libm/machine/Makefile.in: Ditto.
	* libm/machine/aclocal.m4: Ditto.
	* libm/machine/configure: Ditto.
	* libm/machine/i386/Makefile.in: Ditto.
	* libm/machine/i386/aclocal.m4: Ditto.
	* libm/machine/i386/configure: Ditto.
	* libm/machine/spu/Makefile.in: Ditto.
	* libm/machine/spu/configure: Ditto.
	* libm/math/Makefile.in: Ditto.
	* libm/mathfp/Makefile.in: Ditto.
2008-09-29 15:40:48 +00:00
Eric Blake f77a1a8848 Fix 2008-04-14 regression in asprintf(ptr,"").
* libc/stdio/asnprintf.c (asnprintf, _asnprintf_r): Avoid stdio
baggage.
* libc/stdio/asniprintf.c (asniprintf, _asniprintf_r): Likewise.
* libc/stdio/asiprintf.c (asiprintf, _asiprintf_r): Likewise.
* libc/stdio/vasniprintf.c (_vasniprintf_r): Likewise.
* libc/stdio/vsnprintf.c (_vsnprintf_r): Likewise.
* libc/stdio/vfprintf.c (_VFPRINTF_R) [STRING_ONLY]: Always malloc
an initial buffer for asprintf.
2008-04-30 02:47:14 +00:00
Jeff Johnston eabd7de028 2008-04-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/Makefile.am: Build vfprintf.c and vfscanf.c with
        -DSTRING_ONLY defined with and without -DINTEGER_ONLY defined
        to build special versions for sprintf/sscanf family functions.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/vfprintf.c[STRING_ONLY][INTEGER_ONLY](_VFPRINTF_R):
        Redefine to be _svfiprintf_r which is optimized to work with siprintf
        family of functions (i.e. no I/O) and does not support floating-point.
        [STRING_ONLY][!INTEGER_ONLY](_VFPRINTF_R): Redefine to be
        _svfprintf_r which is optimized to work with sprintf family of
        functions and not use I/O.
        [STRING_ONLY](__sprint_r): New string only version of static function.
        designed to work with sprintf family of functions.
        * libc/stdio/vfscanf.c[STRING_ONLY][INTEGER_ONLY](_SVFSCANF_R):
        Redefine to be _ssvfiscanf_r which is optimized to work with siscanf
        family of functions (i.e. no I/O) and no float-point support.
        [STRING_ONLY][!INTEGER_ONLY](_SVFSCANF_R): Redefine to be
        __ssvfscanf_r which is optimized to work with sscanf family of
        functions and does not require I/O functions.
        * libc/stdio/asprintf.c: Call _svfprintf_r instead of _vfprintf_r.
        * libc/stdio/snprintf.c: Ditto.
        * libc/stdio/sprintf.c: Ditto.
        * libc/stdio/vasnprintf.c: Ditto.
        * libc/stdio/vasprintf.c: Ditto.
        * libc/stdio/siprintf.c: Call _svfiprintf_r instead of _vfiprintf_r.
        * libc/stdio/sniprintf.c: Ditto.
        * libc/stdio/vasiprintf.c: Ditto.
        * libc/stdio/vsiprintf.c: Ditto.
        * libc/stdio/vsniprintf.c: Ditto.
        * libc/stdio/vsprintf.c: Ditto.
        * libc/stdio/local.h: Add prototypes for _svfprintf_r, _svfiprintf_r,
        _ssvfscanf_r, and _ssvfiscanf_r.
        * libc/stdio/sscanf.c: Call _ssvfscanf_r instead of _svfscanf_r.
        * libc/stdio/vsscanf.c: Ditto.
        * libc/stdio/siscanf.c: Call _ssvfiscanf_r instead of _svfiscanf_r.
        * libc/stdio/vsiscanf.c: Ditto.
2008-04-14 21:14:55 +00:00
Jeff Johnston d84985f794 2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/rgetc.c (__srget_r): Invoke CHECK_INIT to ensure
        stdin gets resolved properly before refilling.
2008-03-11 19:13:30 +00:00
Jeff Johnston 88348faf5b 2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/rgetc.c (__srget): Invoke CHECK_INIT to ensure
        stdin gets resolved properly before refilling.
2008-03-11 19:08:39 +00:00
Jeff Johnston 0382d26727 2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h(_REENT_SMALL_CHECK_INIT): Specify
        this macro completely instead of referring to CHECK_STD_INIT which
        is only found in libc/stdio/local.h.
        * libc/stdio/dprintf.c: Add include of local.h.
        * libc/stdio/vdprintf.c: Ditto.
        * libc/stdio/vdiprintf.c: Ditto.
2008-03-07 16:45:04 +00:00
Eric Blake 9ae00e9e07 Fix ftell bug after ungetc.
* libc/stdio/ftell.c (_ftell_r): Don't flush ungetc buffer on
ftell.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio/fflush.c (_fflush_r): Clear unget buffer when
repositioning underlying fd offset.
-------------------------------------------------------------------
2008-03-04 02:22:36 +00:00
Jeff Johnston a639937a9a 2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
Make isatty syscall handling consistent with other newlib syscalls.

        * libc/include/_syslist.h: Add _isatty.
        * libc/include/reent.h: Add _isatty_r.
        * libc/include/sys/unistd.h: Add _isatty.
        * libc/posix/Makefile.am: Add new _isatty.c file.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: New file.
        * libc/posix/isatty.c: Changed to call _isatty().
        * libc/reent/Makefile.am: Add new isattyr.c file.
        * libc/reent/Makefile.in: Regenerated.
        * libc/reent/isattyr.c: New file.
        * libc/stdio/freopen.c: Changed to call _isatty_r().
        * libc/stdio/makebuf.c: Ditto.
        * libc/sys/a29khif/_isatty.S: Change isatty to _isatty.
        * libc/sys/arc/isatty.c: Ditto.
        * libc/sys/arm/syscalls.c: Ditto.
        * libc/sys/d10v/syscalls.c: Ditto.
        * libc/sys/h8300hms/syscalls.c: Ditto.
        * libc/sys/h8500hms/syscalls.c: Ditto.
        * libc/sys/linux/Makefile.am: Add new isatty.c file.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/isatty.c: New file.
        * libc/syscalls/Makefile.am: Add new sysisatty.c file.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/syscalls/sysisatty.c: New file.
2008-01-03 22:33:37 +00:00
Jeff Johnston 26b8429317 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.16.0 info.
        * README: Ditto.
        * acinclude.m4: Change version number to 1.16.0.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * doc/aclocal.m4: Ditto.
        * doc/configure: Ditto.
        * libc/*/aclocal.m4: Ditto.
        * libc/*/configure: Ditto.
        * libc/libc.texinfo: Ditto.
        * libm/*/aclocal.m4: Ditto.
        * libm/*/configure: Ditto.
        * libm/libm.texinfo: Ditto.
        * libc/sys/linux/shared.ld: Add VERS_1.16.
2007-12-19 22:36:48 +00:00
Corinna Vinschen 478df8bb91 * libc/stdio/vfprintf.c (_VFPRINTF_R): Use correct pointer in call to
_wcsrtombs_r.
2007-12-19 17:06:19 +00:00
Eric Blake c99e78b85c * libc/stdio/vfprintf.c (_VFPRINTF_R) [__OPTIMIZE_SIZE__]:
Correctly nest else within conditionals.
Reported by Artur Lipowski.
2007-10-13 15:26:20 +00:00
Jeff Johnston 3908c98592 2007-09-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/reent/renamer.c: New file.
        * libc/reent/Makefile.am: Add new file.
        * libc/reent/Makefile.in: Regenerated.
        * libc/stdio/rename.c: Break out _rename_r code into reent/renamer.c
        and add check for rename syscall.
2007-09-18 19:32:43 +00:00
Eric Blake ba21046d03 Obey POSIX on printf("%.s", (char*)NULL).
* libc/stdio/vfprintf.c (_VFPRINTF_R): Take precision into account
for %s on NULL.  Skip NULL check when optimizing for size.
2007-09-17 20:14:29 +00:00
Jeff Johnston 6ddf8bef40 2007-08-31 Antony King <antony.king@st.com>
* libc/stdlib/mprec.h [_DOUBLE_IS_32BITS}: Define IEEE_Arith
        bits and redefine associated dword0 macro (rvalue issue).
        * libc/stdio/vfieeefp.h: Ditto.
        * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS
        to prevent setting dword1 which is an rvalue only.
2007-08-31 21:21:27 +00:00
Eric Blake 6ddcdb9da5 Implement fmemopen and open_memstream.
* libc/stdio/fmemopen.c (_fmemopen_r, fmemopen): New file.
* libc/stdio/open_memstream.c (_open_memstream_r, open_memstream):
New file.
* libc/stdio/fopencookie.c (fcwriter): Minor optimization.
* libc/include/stdio.h (dprintf, vdprintf): Group all POSIX 200x
functions together.
(fmemopen, open_memstream): Declare new functions.
* libc/stdio/stdio.tex: Document them.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Add
fmemopen and open_memstream.
* libc/stdio/Makefile.in: Regenerate.
2007-08-02 20:23:06 +00:00
Eric Blake f7c978d50f More POSIX stream corner cases.
* libc/stdio/findfp.c (__sinit): Open stderr read/write.
* libc/stdio/fdopen.c (_fdopen_r): Set O_APPEND on fd when
requested.
* libc/stdio64/fdopen64.c (_fdopen64_r): Likewise.
2007-07-31 20:49:40 +00:00
Eric Blake 391b530a05 Fix 'make info'.
* libc/stdio/stdio.tex: Add missing include.
* libc/stdio/vfprintf.c: Use expected node name.
* libc/stdio/vfscanf.c: Likewise.
* libc/stdio/sscanf.c: Likewise.
* libc/stdio/sprintf.c: Likewise.
* libc/stdio/siscanf.c: Likewise.
* libc/stdio/siprintf.c: Likewise.
* libc/stdio/fopencookie.c: Quote raw {}.
Reported by DJ Delorie.
2007-07-19 03:42:21 +00:00
Eric Blake 08146e5adb Fix fflush issues.
* libc/stdio/fflush.c (_fflush_r): New function.
(fflush): Fix reentrancy and large offset behavior.
* libc/include/stdio.h (_fflush_r): Add prototype.
* libc/stdio/fclose.c (_fclose_r): All fflush callers changed.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fseek.c (_fseek_r): Likewise.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/setvbuf.c (setvbuf): Likewise.
* libc/stdio/ungetc.c (_ungetc_r): Likewise.
* libc/stdio/vfprintf.c (__sbprintf): Likewise.
* libc/stdio/wbuf.c (__swbuf_r): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.  Defer to
32-bit version if not large file.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio64/tmpfile64.c (_tmpfile64_r): Avoid compile warning.
2007-07-13 20:37:53 +00:00
Eric Blake 88c8888127 Documentation updates.
* libc/stdio/ungetc.c: Document ungetc.
* libc/stdio/Makefile.am (CHEWOUT_FILES): Sort, match current list
of files with documentation.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/stdio.tex: Sort and update stdio documentation index.
2007-07-13 17:07:28 +00:00
Eric Blake 17c61d6a2c Implement funopen, fopencookie.
* libc/include/sys/reent.h (struct __sFILE, struct __sFILE64):
Switch to reentrant callbacks.
* libc/include/stdio.h (funopen): Fix declaration.
(fopencookie): Declare.
* libc/stdio/local.h (__sread, __swrite, __sseek, __sclose)
(__sseek64, __swrite64): Fix prototypes.
[__SCLE]: Pull in setmode declaration.
* libc/stdio/stdio.c (__sread, __swrite, __sseek, __sclose): Fix
reentrancy.
* libc/stdio64/stdio64.c (__sseek64_r, __swrite64_r): Delete.
(__sseek64, __swrite64): Fix reentrancy.
* libc/stdio/fseek.c (_fseek_r): Account for overflow, and fix
reentrancy.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/flags.c (__sflags): Don't lose __SAPP on "a+".
* libc/stdio/fclose.c (_fclose_r): Fix reentrancy.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/siscanf.c (eofread): Likewise.
* libc/stdio/sscanf.c (eofread): Likewise.
* libc/stdio/vsiscanf.c (eofread1): Likewise.
* libc/stdio/vsscanf.c (eofread1): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio/fflush.c (fflush): Improve reentrancy, although more
could be fixed.
* libc/stdio/fopencookie.c (_fopencookie_r, fopencookie): New file.
* libc/stdio/funopen.c (_funopen_r, funopen): New file.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Build
new files.
* libc/stdio/Makefile.in: Regenerate.
2007-06-04 18:10:17 +00:00
Eric Blake 75acf0bb2e * libc/stdio/vfprintf.c (_VFPRINTF_R): Populate 'ox' when
handling %p.
2007-05-27 14:19:15 +00:00
Eric Blake f5c58e9a34 * libc/stdio/rewind.c (rewind): Fix regression of 2003-08-22. 2007-05-25 17:05:09 +00:00
Steve Ellcey d9a1ecc006 * ltmain.sh: Update from GCC.
* libtool.m4: Update from GCC.
	* ltsugar.m4: New. Update from GCC.
	* ltversion.m4: New. Update from GCC.
	* ltoptions.m4: New. Update from GCC.
	* ltconfig: Remove.
	* ltcf-c.sh: Remove.
	* ltcf-cxx.sh: Remove.
	* ltcf-gcj.sh: Remove.
	* src-release: Update with new libtool file list.
	* newlib/*/configure.in: invoke _LD_DECL_SED.
	* newlib/*/Makefile.am: Ensure toplevel is included in ACLOCAL_AMFLAGS.
	* Regenerate subdirectories
2007-05-24 17:33:42 +00:00
Eric Blake aa5341f9ac * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't truncate %p when
sizeof(void*) is 8 but sizeof(long) is 4.
* libc/stdio/vfscanf.c (__SVFSCANF_R): Likewise.  Fix %i scanning
of "-0x".  Support "-nan" and "inf" for %e.  Audit usage of ungetc
to fix reentrancy and bug on encoding error in multibyte locales.
Always return EOF on read error.
2007-05-24 04:25:18 +00:00
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
Jeff Johnston 68cdbb18da 2005-06-16 Christopher Faylor <cgf@timesys.com>
* libc/stdio/vfprintf.c (cvt): Don't rely on pointer aliasing to
        determine characteristics of long double.  Use a union instead.
        * ldtoa.c (_ldtoa_r): Ditto.
        (_ldcheck): Ditto.
        (_strtold): Ditto.
        (union uconv): New union.
2005-06-16 19:14:01 +00:00
Jeff Johnston 5456408b84 2005-04-28 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfscanf.c (__svfscanf_r): Fix code thinko
        when checking for multiple flags.
2005-04-28 18:26:08 +00:00
Jeff Johnston 85da703991 2005-04-05 Dave Korn <dave.korn@artimi.com>
* libc/stdio/vfscanf.c (__svfscanf_r): If an error occurs processing
        something that looks like a "NaN", put back the characters processed.
2005-04-05 18:38:09 +00:00
Jeff Johnston d4eb892018 2005-03-21 Nicholas Wourms <nwourms@netscape.net>
* 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-03-21 22:34:35 +00:00
Jeff Johnston 1159e0fd94 2005-02-07 Antony King <antony.king@st.com>
* 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-08 01:33:19 +00:00
Jeff Johnston 3d91567088 2005-02-07 Jeff Johnston <jjohnstn@redhat.com>
* 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-02-08 01:05:50 +00:00
Jeff Johnston 8fa6cb9a5d 2005-01-06 Jeff Johnston <jjohnstn@redhat.com>
* 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 23:31:56 +00:00
Jeff Johnston 034a3909ae 2005-01-06 Hans-Peter Nilsson <hp@axis.com>
* libc/stdio/ftell.c (ftell_r): Add parenthesis for __SWR
        bit-test in combination with NULL test.
2005-01-06 20:10:56 +00:00
Jeff Johnston 82673116e1 2004-12-13 Jeff Johnston <jjohnstn@redhat.com>
* 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-12-13 19:42:16 +00:00
Jeff Johnston 16ac96ee69 2004-11-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/Makefile.am: Fix missing vfscanf.
        * libc/stdio/Makefile.in: Regenerated.
2004-11-24 22:31:05 +00:00
Jeff Johnston 3bf091476a 2004-11-23 Jeff Johnston <jjohnstn@redhat.com>
* 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-24 00:45:41 +00:00
Jeff Johnston 0f0fcb042a 2004-11-19 Shaun Jackman <sjackman@gmail.com>
* 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.
2004-11-20 01:42:35 +00:00
Christopher Faylor 1f8f7e2d54 * libc/stdio/refill.c (__srefill): Try again after EOF on Cygwin. Clear EOF
flag if successful.
2004-11-17 17:02:10 +00:00
Jeff Johnston 65b1964f1a 2004-10-26 Jason Tishler <jason@tishler.net>
* libc/stdio/fread.c (fread): Fix return value for unbuffered
        fread.
2004-10-26 18:21:09 +00:00
Jeff Johnston 3ea9de7644 2004-10-04 Jeff Johnston <jjohnstn@redhat.com>
* 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-10-04 17:51:50 +00:00