summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* * libc/Makefile.am (SUBDEFS): Add LIBC_POSIX_DEF.DJ Delorie2010-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (libc.info): Add posix.texi. (libc.dvi): Likewise. (stmp-posix): New. (posix.texi): New. (libc_TEXINFOS): Add posix.texi. * libc/configure.in (LIBC_POSIX_LIB, LIBC_POSIX_DEF): Add tests. * libc/libc.texinfo: Include posix.texi * libc/locale/locale.c: Fix texinfo typo. * libc/time/strftime.c: Fix texinfo typo. * libc/configure: Regenerate. * libc/Makefile.in: Regenerate. * libc/argz/Makefile.in: Regenerate. * libc/ctype/Makefile.in: Regenerate. * libc/errno/Makefile.in: Regenerate. * libc/iconv/Makefile.in: Regenerate. * libc/iconv/ccs/Makefile.in: Regenerate. * libc/iconv/ccs/binary/Makefile.in: Regenerate. * libc/iconv/ces/Makefile.in: Regenerate. * libc/iconv/lib/Makefile.in: Regenerate. * libc/locale/Makefile.in: Regenerate. * libc/misc/Makefile.in: Regenerate. * libc/posix/Makefile.in: Regenerate. * libc/reent/Makefile.in: Regenerate. * libc/search/Makefile.in: Regenerate. * libc/signal/Makefile.in: Regenerate. * libc/stdio/Makefile.in: Regenerate. * libc/stdio64/Makefile.in: Regenerate. * libc/stdlib/Makefile.in: Regenerate. * libc/string/Makefile.in: Regenerate. * libc/syscalls/Makefile.in: Regenerate. * libc/time/Makefile.in: Regenerate. * libc/unix/Makefile.in: Regenerate. * libc/xdr/Makefile.in: Regenerate.
* Add eXtensible Data Record (XDR) supportCorinna Vinschen2010-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.host: Build libc/xdr only on cygwin. * Makefile.am: Install xdr headers. * libc/configure.in: Support new libc/xdr subdirectory. * libc/Makefile.am: Support new libc/xdr subdirectory. * libc/include/rpc/types.h: New. * libc/include/rpc/xdr.h: New. * libc/xdr/README: New. * libc/xdr/Makefile.am: New. * libc/xdr/dummy.c: New. * libc/xdr/xdr.c: New. * libc/xdr/xdr_array.c: New. * libc/xdr/xdr_float.c: New. * libc/xdr/xdr_float_vax.c: New. * libc/xdr/xdr_mem.c: New. * libc/xdr/xdr_private.c: New. * libc/xdr/xdr_private.h: New. * libc/xdr/xdr_rec.c: New. * libc/xdr/xdr_reference.c: New. * libc/xdr/xdr_sizeof.c: New. * libc/xdr/xdr_stdio.c: New. Regenerate using ac-2.63 and am-1.11.1 * libc/xdr/Makefile.in: New. * Makefile.in: Regenerate. * libc/configure: Regenerate. * libc/Makefile.in: Regenerate. * libc/argz/Makefile.in: Regenerate. * libc/ctype/Makefile.in: Regenerate. * libc/errno/Makefile.in: Regenerate. * libc/iconv/ccs/binary/Makefile.in: Regenerate. * libc/iconv/ccs/Makefile.in: Regenerate. * libc/iconv/ces/Makefile.in: Regenerate. * libc/iconv/lib/Makefile.in: Regenerate. * libc/iconv/Makefile.in: Regenerate. * libc/locale/Makefile.in: Regenerate. * libc/misc/Makefile.in: Regenerate. * libc/posix/Makefile.in: Regenerate. * libc/reent/Makefile.in: Regenerate. * libc/search/Makefile.in: Regenerate. * libc/signal/Makefile.in: Regenerate. * libc/stdio/Makefile.in: Regenerate. * libc/stdio64/Makefile.in: Regenerate. * libc/stdlib/Makefile.in: Regenerate. * libc/string/Makefile.in: Regenerate. * libc/syscalls/Makefile.in: Regenerate. * libc/time/Makefile.in: Regenerate. * libc/unix/Makefile.in: Regenerate.
* 2010-02-24 Charles Wilson <...>Jeff Johnston2010-02-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work around issues with new libtool files in .. * configure.in: Unconditionally call _LT_PROG_ECHO_BACKSLASH. * iconvdata/configure.in: Ditto. * libc/configure.in: Ditto. * libc/machine/configure.in: Ditto. * libc/machine/i386/configure.in: Ditto. * libc/sys/configure.in: Ditto. * libc/sys/linux/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/linux/machine/configure.in: Ditto. * libc/sys/linux/machine/i386/configure.in: Ditto. * libm/configure.in: Ditto. * libm/machine/configure.in: Ditto. * libm/machine/i386/configure.in: Ditto. * libc/machine/sh/configure.in: Ditto. Also, call AC_NO_EXECUTABLES before NEWLIB_CONFIGURE. * aclocal.m4: Regenerated. * configure: Ditto. * Makefile.in: Ditto. * doc/aclocal.m4: Ditto. * doc/Makefile.in: Ditto. * libc/*/aclocal.m4: Ditto. * libc/*/Makefile.in: Ditto. * libc/*/configure: Ditto. * libm/*/aclocal.m4: Ditto. * libm/*/Makefile.in: Ditto. * libm/*/configure: Ditto.
* * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Apply previous patch hereCorinna Vinschen2010-02-151-1/+1
| | | | as well.
* * libc/stdio/vfprintf.c (_VFPRINTF_R): Drop printing a redundantCorinna Vinschen2010-02-151-1/+1
| | | | decimal point in case the float argument is an integral value.
* * libc/stdio/vfprintf.c: Include locale.h also if _WANT_IO_C99_FORMATSCorinna Vinschen2010-02-052-76/+321
| | | | | | | | is defined. Raise conversion buffer size to make sure it has enough room for numbers plus grouping character. Define GROUPING flag. (_VFPRINTF_R): Add PRINTANDPAD macro. Handle grouping flag character. Handle grouping for decimal integer and float values. * libc/stdio/vfwprintf.c: Ditto.
* 2010-01-19 Andy Koppe <andy.koppe@gmail.com>Jeff Johnston2010-01-191-4/+15
| | | | | * libc/stdio/vfscanf.c (__SVFSCANF_R): Fix handling of non-ASCII characters and allow invalid bytes in format string.
* * libc/stdio/vfprintf.c (_VFPRINTF_R): Just wave bytes invalid inCorinna Vinschen2010-01-141-2/+7
| | | | the current charset through.
* 2009-12-17 Jerker Back <jerker.back@gmail.com>Jeff Johnston2009-12-171-1/+1
| | | | | | | | | | | | | | | * libc/include/_ansi.h: Add new _EXFNPTR macro for using with function pointer arguments. * libc/iconv/lib/conv.h: Use _EXFNPTR rather than _EXPARM macro. * libc/iconv/lib/ucsconv.h: Ditto. * libc/include/stdlib.h: Use new _EXFNPTR macro for function pointers. * libc/include/sys/reent.h: Ditto. * libc/include/sys/unistd.h: Ditto. * libc/search/bsearch.c: Ditto. * libc/stdio/fseek.c: Ditto. * libc/stdio64/fseeko64.c: Ditto. * libc/stdlib/atexit.c: Ditto. * libc/stdlib/on_exit.c: Ditto.
* * libc/stdio/vfprintf.c: Include ../stdlib/local.h. Replace call toCorinna Vinschen2009-11-182-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | _mbtowc_r with direct call to __mbtowc. * libc/stdio/vfscanf.c: Ditto. * libc/stdlib/btowc.c: Include local.h. Replace call to _mbtowc_r with direct call to __mbtowc. * libc/stdlib/mblen.c: Ditto. * libc/stdlib/mblen_r.c: Ditto. * libc/stdlib/mbrtowc.c: Ditto. * libc/stdlib/mbstowcs_r.c: Ditto. * libc/stdlib/mbtowc.c: Ditto. * libc/stdlib/wcrtomb.c: Include local.h. Replace call to _wctomb_r with direct call to __wctomb. * libc/stdlib/wcsnrtombs.c: Ditto. (_wcsnrtombs_r): Ditto. * libc/stdlib/wcstombs_r.c: Ditto. * libc/stdlib/wctob.c: Ditto. * libc/stdlib/wctomb.c: Ditto. * libc/stdlib/mbrtowc.c (mbrtowc): Implement independently from _mbrtowc_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are defined. * libc/stdlib/wcrtomb.c (wcrtomb): Implement independently from _wcrtomb_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are defined. * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Drop unnecessary test for ch >= 0.
* * libc/stdio/fflush.c (_fflush_r): Store old errno to check forCorinna Vinschen2009-10-301-10/+21
| | | | | | | low-level seek error condition. Restore old errno in case of success. Don't use new position after seek as error condition, rather check for return value of -1 and errno. Handle EINVAL just like ESPIPE. Only set fp->_offset if errno is 0.
* 2009-10-20 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-10-201-102/+92
| | | | | | | | | | | | | | | | | | | | | | | | | * configure.host: Don't set -O2 flag in newlib_cflags. Leave that to CFLAGS. * acinclude.m4: Don't reset CFLAGS before calling _AC_PROG_CC_G as it sets the same flags as we are using. * aclocal.m4: Regenerated. * configure: Ditto. * Makefile.in: Ditto. * iconvdata/aclocal.m4: Ditto. * iconvdata/configure: Ditto. * iconvdata/Makefile.in: Ditto. * doc/aclocal.m4: Ditto. * doc/configure: Ditto. * doc/Makefile.in: Ditto. * libc/aclocal.m4: Ditto. * libc/configure: Ditto. * libc/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.
* 2009-08-21 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2009-08-211-16/+1
| | | | | * libm/common/s_remquo.c (remquo): Fix sign of quotient when |x|==|y|. * libc/stdio/mktemp.c: Add #include <stdlib.h> for function prototypes.
* * libc/stdio/mktemp.c (mkdtemp): Fix type in function name.Corinna Vinschen2009-08-131-1/+1
|
* 2009=08-12 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-08-121-0/+5
| | | | | | | | | | | | | * libc/stdio/mktemp.c (_gettemp): Do not call _mkdir_r unless HAVE_MKDIR is defined. 2009-08-12 Hans-Peter Nilsson <hp@axis.com> * libc/include/reent.h: Add prototype and definition of _mkdir_r. * libc/reent/Makefile.am (GENERAL_SOURCES): Add mkdirr.c. (CHEWOUT_FILES): Add mkdirr.def. * libc/reent/Makefile.in: Regenerate. * libc/reent/mkdirr.c: New file.
* Avoid a fault from locking a closed standard file.Eric Blake2009-07-221-0/+3
| | | | | * libc/stdio/fflush.c (_fflush_r): Give up early if stream has been previously closed.
* Add mkdtemp, mkstemps.Eric Blake2009-07-031-27/+111
| | | | | | | | | | * libc/stdio/mktemp.c: Fix documentation. (_gettemp): Add domkdir and length parameters. Check for insufficient 'X' suffix. Drop cygwin-specific code. (_mkstemp_r, _mktemp_r, mkstemp, mktemp): Adjust clients. (_mkdtemp_r, _mkstemps_r, mkdtemp, mkstemps): New functions. * libc/include/stdlib.h (_mkdtemp_r, _mkstemps_r, mkdtemp) (mkstemps): Declare them.
* Add fpurge.Eric Blake2009-07-034-9/+123
| | | | | | | | | * libc/stdio/fpurge.c (fpurge, _fpurge_r): New file. * libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES, fpurge): Build it. * libc/stdio/Makefile.in: Regenerated. * libc/include/stdio.h (fpurge, _fpurge_r): New declarations. * libc/stdio/stdio.tex: Build documentation.
* * libc/stdio/vfprintf.c (_VFPRINTF_R): Use actual length ofCorinna Vinschen2009-06-161-5/+6
| | | | | | | | | | | radix char instead of assuming length 1. * libc/stdlib/gdtoa-gethex.c: Remove use of USE_LOCALE. (gethex): Allow multibyte decimal point. Fix compiler warnings due to different signedness of pointer types. * libc/stdlib/strtod.c: Remove use of USE_LOCALE. (_strtod_r): Allow multibyte decimal point. * libc/stdlib/wcstod.c (_wcstod_r): Evaluate correct wide char endptr position if the decimal point is a multibyte char.
* 2009-04-24 Jeff johnston <jjohnstn@redhat.com>Jeff Johnston2009-04-249-0/+39
| | | | | | | | | | | | | | * libc/stdio/fgetc.c: Make sure sfp lock is acquired before the file lock and released before the file lock to avoid a deadlock scenario. * libc/stdio/fgets.c: Ditto. * libc/stdio/fgetwc.c: Ditto. * libc/stdio/fgetws.c: Ditto. * libc/stdio/fread.c: Ditto. * libc/stdio/fseek.c: Ditto. * libc/stdio/getc.c: Ditto. * libc/stdio/getdelim.c: Ditto. * libc/stdio/gets.c: Ditto.
* * libc/stdio/local.h (__chclass, __state_table, __action_table):Corinna Vinschen2009-04-221-3/+3
| | | | | Add extern to the declarations. * libc/stdlib/local.h (__iso_8859_conv, __cp_conv): Likewise.
* * libc/include/stdio.h (_mkstemp_r, _mktemp_r): Move declarationsCorinna Vinschen2009-03-141-0/+7
| | | | | | | to stdlib.h. * libc/include/stdlib.h (mktemp, _mktemp_r): Warn when using. * libc/stdio/mktemp.c: Explain the security risk when using mktemp.
* * libc/stdio/swscanf.c: Some documentation corrections.Corinna Vinschen2009-03-121-2/+5
|
* * libc/stdio/swprintf.c (_swprintf_r, swprintf):Corinna Vinschen2009-03-124-88/+138
| | | | | | | | | | | | | | | correct how terminating L'\0' is added; change return to match standard for when output does not fit; some corrections and enhancements to the docs. * libc/stdio/vswprintf.c (_vswprintf_r): ditto, except for docs. * libc/stdio/vfwprintf.c: some corrections to the docs and some enhancements to comments. (No code changes.) * libc/time/strftime.c: Correct some problems that made wcsftime() not work correctly: work properly with swprintf returns that are different from snprintf returns, correct test vector lengths for when sizeof(wchar_t) > 1. * libc/stdio/sprintf.c: Some documentation and comment corrections and enhancements to match those done to swprintf.c.
* * libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf,Corinna Vinschen2009-03-1121-100/+2292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wscanf): Declare. (_fwscanf_r, _swscanf_r, _vfwscanf_r, _vswscanf_r, _vwscanf_r, _wscanf_r): Declare. * libc/stdio/Makefile.am: Add new wscanf files. * libc/stdio/Makefile.in: Regenerate. * libc/stdio/fwscanf.c: New file. * libc/stdio/local.h (__svfwscanf_r, __ssvfwscanf_r, __svfiwscanf_r, __ssvfiwscanf_r): Declare. * libc/stdio/stdio.tex: Add new documentation references. * libc/stdio/swscanf.c: New file. * libc/stdio/vfwscanf.c: New file. * libc/stdio/vswscanf.c: New file. * libc/stdio/vwscanf.c: New file. * libc/stdio/wscanf.c: New file. * libc/stdio/vfscanf.c (_sungetc_r): Make externaly available. Only define if INTEGER_ONLY is defined. Declare otherwise. (__ssrefill_r): Ditto. (_sfread_r): Ditto. Remove static eofread/eofread1 functions and use __seofread function instead, throughout. * libc/stdio/local.h (__seofread): Declare. * libc/stdio/stdio.c (__seofread): Define. * libc/stdio/fgetwc.c (__fgetwc): Fix compiler warning. * libc/stdio/fgetws.c (_fgetws_r): Ditto. * libc/stdio/fread.c (_fread_r): Ditto. * libc/stdio/vfprintf.c: Ditto. * libc/stdio/vswprintf.c: Ditto.
* * libc/include/stdio.h (__VALIST): Guard against multiple definition.Corinna Vinschen2009-03-0611-72/+2829
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/wchar.h: Include stdarg.h. (__VALIST): Define conditionally. (fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: Declare. (_fwprintf_r, _swprintf_r, _vfwprintf_r, _vswprintf_r, _vwprintf_r, _wprintf_r): Declare. * libc/stdio/Makefile.am: Add new files. * libc/stdio/Makefile.in: Regenerate. * libc/stdio/fwprintf.c: New file. * libc/stdio/local.h (_svfwprintf_r, _svfiwprintf_r): Declare. (__CH_CLASS, __STATE, __ACTION): Move definition from vfprintf.c here and move to the __ namespace. (__chclass, __state_table, __action_table): Declare. * libc/stdio/stdio.tex: Add new documentation references. * libc/stdio/swprintf.c: New file. * libc/stdio/vfprintf.c (__SPRINT): New macro to call the right __sprint_r function according to compilation unit. Use throughout. (__ssprint_r): Rename STRING_ONLY variant from __sprint_r. Make externaly available. Only define if INTEGER_ONLY is defined. (__sprint_r): Make externaly available. Only define if INTEGER_ONLY is defined. Handle stream orientation. (__sbprintf): Copy FILE's _flags2 member as well. (__chclass, __state_table, __action_table): Prepend __ to name and make externally available. * libc/stdio/vfwprintf.c: New file. * libc/stdio/vswprintf.c: New file. * libc/stdio/vwprintf.c: New file. * libc/stdio/wprintf.c: New file.
* * libc/stdio/open_memstream.c (stdint.h): Include.Kevin Buettner2009-02-251-0/+1
|
* 2009-02-18 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-02-181-3/+8
| | | | | | | | | | | | * libc/stdio/open_memstream.c (internal_open_memstream_r): Fix max buffer size to be in wchar_t units if wide == 1 is passed in. In this case, also initialize the first character of the buffer to be wide char null. (_open_wmemstream_r): Cast buf to be (char **) to avoid warning. * libc/stdlib/mbtowc_r.c (_mbtowc_r): Change all occurences of incrementing the size_t value n to first check that n is not already size_t -1. Fix some compiler warnings. * libc/stdlib/wcstod.c: Add includes for <wctype.h> and <math.h>.
* * libc/stdio/open_memstream.c: Add open_wmemstream to doumentation.Corinna Vinschen2009-02-181-26/+102
| | | | | | | | | | | | | | | | | (struct memstream): Add wide element. Change saved to a union to take char and wchar_t values. (memwriter): Accommodate wide-oriented oeprations. (memseeker): Ditto. (memseeker64): Ditto. (memcloser): Ditto. (internal_open_memstream_r): New static function. Take functionality from former _open_memstream_r and handle additional "wide" parameter. (_open_memstream_r): Just call internal_open_memstream_r with wide==-1 from here. (_open_wmemstream_r): New function. (open_wmemstream): Ditto. * libc/include/wchar.h (open_wmemstream): Declare. (_open_wmemstream_r): Declare.
* * libc/stdio/fputwc.c: Fix typo in man page info.Corinna Vinschen2009-02-161-2/+2
|
* 2009-01-28 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-01-281-2/+6
| | | | | | * libc/stdio/vfscanf.c (__SVFSCANF_R): Add additional check for inf and nan processing to not proceed if we have already collected zeroes.
* 2009-01-12 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-01-121-4/+0
| | | | | * libc/stdio/fwalk.c (__fwalk, __fwalk_reent): Remove locking of each fp. Let the function being called lock the fp, if necessary.
* 2009-01-05 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2009-01-051-1/+1
| | | | * libc/stdio/fwide.c: Correct typo in TRAD_SYNOPSIS for _fwide_r.
* 2008-12-15 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-12-151-2/+0
| | | | | * libc/stdio/stdio.tex: Remove putwc and getwc references as they are included as part of fputwc and fgetwc, respectively.
* 2008-12-12 Ralf Corsepius <ralf.corsepius@rtems.org>Jeff Johnston2008-12-123-5/+5
| | | | | | * libc/stdio/fputws.c: Fix documentation. * libc/stdio/getwchar.c: Ditto. * libc/stdio/putwchar.c: Ditto.
* * libc/stdio/freopen.c: Add <string.h> for memset prototype.Corinna Vinschen2008-12-123-0/+3
| | | | | * libc/stdio/fseek.c: Ditto. * libc/stdio/fwide.c: Add <wchar.h> for fwide prototype.
* 2008-12-11 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-12-116-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-10 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2008-12-1026-1/+1347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * libc/stdio/gets.c (_gets_r): Lock stdin here and callCorinna Vinschen2008-11-251-2/+7
| | | | __sgetc_r instead of _getchar_r.
* 2008-11-24 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | * 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 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-11-242-0/+2
| | | | | | | | | | | | | | | | | | | | * 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.
* * libc/include/stdio.h (__SMOD): Remove definition of unused flag.Corinna Vinschen2008-11-244-6/+4
| | | | | | | | | | * 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-10-31 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-10-3119-74/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-15 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-10-151-32/+38
| | | | | * libc/stdio/vfscanf.c (__ssvfiscanf_r): Do not support %lc, %C, %ls or %S conversions when the EL/IX level is 1.
* * configure: Regenerate for new libtool.Steve Ellcey2008-09-291-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Fix 2008-04-14 regression in asprintf(ptr,"").Eric Blake2008-04-306-34/+46
| | | | | | | | | | | * 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-14 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-04-1420-29/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-03-11 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-03-111-1/+1
| | | | | * libc/stdio/rgetc.c (__srget_r): Invoke CHECK_INIT to ensure stdin gets resolved properly before refilling.
* 2008-03-11 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-03-111-0/+4
| | | | | * libc/stdio/rgetc.c (__srget): Invoke CHECK_INIT to ensure stdin gets resolved properly before refilling.
* 2008-03-07 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-03-073-0/+3
| | | | | | | | | * 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.