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
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
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
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
ed6859b8f0
2004-09-16 Antony King <antony.king@st.com>
...
* libc/include/sys/lock.h: Replaced empty {} with (0) to conform
with locking API.
* libc/include/sys/stdio.h: (_flockfile)[!_SINGLE_THREAD]: Add
check for__SSTR in _flags and if set, skip lock request.
(_funlockfile)[!SINGLE_THREAD]: Ditto.
* libc/stdio/local.h (CHECK_INIT): Added check that _REENT is
not NULL.
* libc/stdio/siprintf.c (siprintf, _siprintf_r): Added missing
initialisation of _file to -1 in local FILE.
* libc/stdio/snprintf.c (snprintf, _snprintf_r): Ditto.
* libc/stdio/sscanf.c (sscanf, _sscanf_r): Ditto.
* libc/stdio/vsnprintf.c (vsnprintf, _vsnprintf_r): Ditto.
* libc/stdio/vsscanf.c (_vsscanf_r): Ditto.
* libc/stdio/sscanf.c (sscanf, _sscanf_r): Added __SSTR flag to
_flags in local FILE to prevent locking.
* libc/stdio/vsscanf.c (_vsscanf_r): Ditto.
2004-09-16 21:30:51 +00:00
Jeff Johnston
05b315770a
2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
...
* libc/stdio/asprintf.c libc/stdio/clearerr.c,
libc/stdio/fclose.c libc/stdio/fcloseall.c libc/stdio/fdopen.c,
libc/stdio/feof.c libc/stdio/ferror.c libc/stdio/fflush.c,
libc/stdio/fgetc.c libc/stdio/fgetpos.c libc/stdio/fgets.c,
libc/stdio/fileno.c libc/stdio/findfp.c libc/stdio/fiprintf.c,
libc/stdio/flags.c libc/stdio/fopen.c libc/stdio/fprintf.c,
libc/stdio/fputc.c libc/stdio/fputs.c libc/stdio/fread.c,
libc/stdio/freopen.c libc/stdio/fscanf.c libc/stdio/fseek.c,
libc/stdio/fseeko.c libc/stdio/fsetpos.c libc/stdio/ftell.c,
libc/stdio/ftello.c libc/stdio/fvwrite.c libc/stdio/fwalk.c,
libc/stdio/fwrite.c libc/stdio/getc.c libc/stdio/getc_u.c,
libc/stdio/getchar.c libc/stdio/getchar_u.c,
libc/stdio/getdelim.c libc/stdio/getline.c libc/stdio/gets.c,
libc/stdio/getw.c libc/stdio/iprintf.c libc/stdio/local.h,
libc/stdio/makebuf.c libc/stdio/mktemp.c libc/stdio/perror.c,
libc/stdio/printf.c libc/stdio/putc.c libc/stdio/putc_u.c,
libc/stdio/putchar.c libc/stdio/putchar_u.c libc/stdio/puts.c,
libc/stdio/putw.c libc/stdio/refill.c libc/stdio/remove.c,
libc/stdio/rename.c libc/stdio/rewind.c libc/stdio/rget.c,
libc/stdio/scanf.c libc/stdio/setbuf.c libc/stdio/setbuffer.c,
libc/stdio/setlinebuf.c libc/stdio/setvbuf.c,
libc/stdio/siprintf.c libc/stdio/snprintf.c,
libc/stdio/sprintf.c libc/stdio/sscanf.c libc/stdio/stdio.c,
libc/stdio/tmpfile.c libc/stdio/tmpnam.c libc/stdio/ungetc.c,
libc/stdio/vasprintf.c libc/stdio/vfieeefp.h,
libc/stdio/vfprintf.c libc/stdio/vfscanf.c,
libc/stdio/vprintf.c libc/stdio/vscanf.c,
libc/stdio/vsnprintf.c libc/stdio/vsprintf.c,
libc/stdio/vsscanf.c libc/stdio/wbuf.c,
libc/stdio/wsetup.c: Perform minor formatting changes. Move
copyright notices to top of file, ensure that <_ansi.h> is
included, be consistent with open parentheses, use _DEFUN macro,
include "local.h" where needed, and remove various compiler
warnings.
2004-04-23 20:01:55 +00:00
Jeff Johnston
76a7df5256
2003-10-20 Bob Wilson <bob.wilson@acm.org>
...
* libc/locale/locale.c: Use double quotes in code.
* libc/locale/locale.tex: Likewise.
* libc/libc.texinfo: Hyphenate "floating-point".
* libc/machine/necv70/necv70.tex: Likewise.
* libc/stdio/sprintf.c: Likewise.
* libc/stdio/sscanf.c: Likewise.
* libc/stdlib/atof.c: Likewise.
* libc/stdlib/ldtoa.c: Fix comment typo.
* libc/stdlib/div.c: Use @ifnottex instead of @ifinfo.
* libc/stdlib/ldiv.c: Likewise.
* libm/common/s_expm1.c: Likewise.
* libm/common/s_ilogb.c: Hyphenate "floating-point". Use "nonzero".
* libm/common/s_infinity: Hyphenate "double- and single-precision".
* libm/common/s_nan.c: Likewise. Also correct the FUNCTION summary.
* libm/common/s_nextafter.c: Fix typo. Hyphenate "double-precision"
and "floating-point".
* libm/common/s_scalbn.c: Correct the FUNCTION summary.
* libm/math/e_pow.c: Fix comment typo.
* libm/math/math.tex: Hyphenate "single-precision" and "floating-point".
* libm/math/s_asinh.c: Use @ifnottex instead of @ifinfo.
* libm/math/s_atan.c: Likewise.
* libm/math/s_frexp.c: Likewise. Also use "nonzero".
* libm/math/s_isnan.c: Hyphenate "single-precision" and
"floating-point". Use "nonzero".
* libm/math/s_ldexp.c: Use @ifnottex instead of @ifinfo.
* libm/math/w_acos.c: Likewise.
* libm/math/w_acosh.c: Likewise.
* libm/math/w_asin.c: Likewise.
* libm/math/w_atan2.c: Likewise.
* libm/math/w_atanh.c: Likewise.
* libm/math/w_cosh.c: Likewise.
* libm/math/w_exp.c: Likewise.
* libm/math/w_exp2.c: Likewise. Add missing @end and missing @tex
version of 2^x in the description.
* libm/math/w_fmod.c: Use @ifnottex instead of @ifinfo.
* libm/math/w_gamma.c: Likewise.
* libm/math/w_hypot.c: Likewise.
* libm/math/w_j0.c: Likewise.
* libm/math/w_sinh.c: Likewise.
* libm/math/w_pow.c: Replace "exp1.0nt" with "exponent".
* libm/mathfp/mathfp.tex: Hyphenate "single-precision" and
"floating-point".
* libm/mathfp/e_acosh.c: Use @ifnottex instead of @ifinfo.
* libm/mathfp/e_atanh.c: Likewise.
* libm/mathfp/e_hypot.c: Likewise.
* libm/mathfp/er_lgamma.c: Likewise.
* libm/mathfp/s_acos.c: Likewise.
* libm/mathfp/s_asine.c: Likewise.
* libm/mathfp/s_asinh.c: Likewise.
* libm/mathfp/s_atan.c: Likewise.
* libm/mathfp/s_atan2.c: Likewise.
* libm/mathfp/s_atangent.c: Likewise.
* libm/mathfp/s_cosh.c: Likewise.
* libm/mathfp/s_exp.c: Likewise.
* libm/mathfp/s_fmod.c: Likewise.
* libm/mathfp/s_frexp.c: Likewise. Also use "nonzero".
* libm/mathfp/s_isnan.c: Hyphenate "single-precision" and
"floating-point". Use "nonzero".
* libm/math/s_pow.c: Replace "exp1.0nt" with "exponent".
* libm/mathfp/s_ldexp.c: Use @ifnottex instead of @ifinfo.
* libm/mathfp/s_sineh.c: Likewise.
* libm/mathfp/w_jn.c: Likewise.
2003-10-20 18:46:38 +00:00
Jeff Johnston
9fc9e1c916
2003-08-22 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/sys/reent.h: Add _GLOBAL_REENT macro.
* libc/stdio: Globally remove/replace all references to fp->_data.
Replace with _REENT or _GLOBAL_REENT where appropriate.
* libc/stdio/asprintf.c: Ditto.
* libc/stdio/fclose.c: Ditto.
* libc/stdio/fvwrite.c: Ditto.
* libc/stdio/makebuf.c: Ditto.
* libc/stdio/refill.c: Ditto.
* libc/stdio/local.h: Ditto.
* libc/stdio/setvbuf.c: Ditto.
* libc/stdio/sscanf.c: Ditto.
* libc/stdio/stdio.c: Ditto.
* libc/stdio/ungetc.c: Ditto.
* libc/stdio/vfscanf.c: Ditto.
* libc/stdio/vsscanf.c: Ditto.
* libc/stdio/fopen.c: Ditto. Also use _fseek_r in _fopen_r.
* libc/stdio/vasprintf.c: Ditto. Also call _vfprintf_r directly.
* libc/stdio/vsnprintf.c: Ditto.
* libc/stdio/vsprintf.c: Ditto.
* libc/stdio/fcloseall.c(fcloseall): Use _GLOBAL_REENT macro
instead of _REENT to walk file list.
* libc/stdio/fflush.c: Ditto.
* libc/stdio/fgetpos.c: Add reentrant version and have regular
version call reentrant version with _REENT argument.
* libc/stdio/fsetpos.c: Ditto.
* libc/stdio/fseek.c: Ditto.
* libc/stdio/fseeko.c: Ditto.
* libc/stdio/ftell.c: Ditto.
* libc/stdio/ftello.c: Ditto.
* libc/stdio/freopen.c: Ditto.
* libc/stdio/findfp.c: Use _GLOBAL_REENT pointer when adding
new files to chain. Also use _GLOBAL_REENT pointer for
cleaning up.
* libc/stdio/fiprintf.c: Reformatted to minimize duplicate code.
* libc/stdio/siprintf.c: Ditto.
* libc/stdio/iprintf.c: Ditto.
* libc/stdio/fprintf.c: Ditto.
* libc/stdio/printf.c: Ditto.
* libc/stdio/snprintf.c: Call _vfprintf_r directly.
* libc/stdio/sprintf.c: Ditto.
* libc/stdio/vprintf.c: Ditto. Also add _REENT_ONLY check.
* libc/stdio/rewind.c: Call _fseek_r directly.
* libc/stdio/tmpfile.c: Call _fopen_r and _remove_r directly.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Change _r routines to use
data pointer.
(get_arg): Add extra struct _reent pointer argument.
* libc/stdio64/fgetpos64.c: Add _r versions, remove any reference
to fp->_data.
* libc/stdio64/fopen64.c: Ditto.
* libc/stdio64/freopen64.c: Ditto.
* libc/stdio64/fsetpos64.c: Ditto.
* libc/stdio64/ftello64.c: Ditto.
* libc/stdio64/local64.h: Ditto.
* libc/stdio64/stdio64.c: Ditto.
* libc/stdio64/fseeko64.c: Ditto plus use _fstat_r instead of
_fstat64_r for the meantime.
2003-08-22 18:52:25 +00:00
Corinna Vinschen
31ee99a41e
* libc/stdio/sscanf.c: Update flags description.
...
* libc/stdio/vfscanf.c: Add CHAR flag value to denote 8 bit target
type.
(__svfscanf_r): Add 'hh' and 'll' handling.
2003-04-01 16:27:52 +00:00
Jeff Johnston
52cb9e6934
2001-04-20 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/stdio.h[!_REENT_ONLY]: Moved various functions together
into one list.
[!__STRICT_ANSI__]: Moved non-ANSI I/O functions in this list.
(vfscanf, vscanf, vsscanf, _vfscanf_r, _vscanf_r, _vsscanf_r): New
function prototypes.
(_fscanf_r, _sscanf_r): Ditto.
* libc/include/stdlib.h: Added _strtod_r prototype.
* libc/stdio/Makefile.am: Add new v*scanf functions.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fscanf.c: Reorganized so HAVE_STDC only affects prototype
and code is shared. Added reentrant _fscanf_r which calls __svfscanf_r. * libc/stdio/scanf.c: Changed to call __svfscanf_r.
* libc/stdio/sscanf.c: Changed documentation to add reentrant routines.
(sscanf): Changed to call __svfscanf_r with _REENT argument.
(_sscanf_r): New routine.
* libc/stdio/local.h: Removed __svfscanf prototype and replaced it
with __svfscanf_r prototype.
* libc/stdio/vfscanf.c (vfscanf, _vfscanf_r: New
routines.
(__svfscanf_r): Reentrant version of __svfscanf which takes reetrancy
structure as argument as calls reentrant versions of helper functions
(e.g. _strtol_r, _strtoul_r). Also replaced calls to atol and atof
to _strtol_r and _strtod_r respectively.
* libc/stdio/vfscanf.c: Also changed __svfscanf to call __svfscanf_r.
* libc/stdlib/strtod.c (strtod): Changed to call _strtod_r with
_REENT argument.
* libc/stdio/vscanf.c: New file.
* libc/stdio/vsscanf.c: Ditto.
2001-04-20 22:50:51 +00:00
Jeff Johnston
cfc05d9675
Mon Mar 5 21:48:54 2001 J"orn Rennecke <amylaar@redhat.com>
...
* libc/include/sys/config.h (_READ_WRITE_RETURN_TYPE): Define.
For RTEMS, define to be ssize_t. Default to int if not defined.
* libc/stdio/sscanf.c (eofread): Return _READ_WRITE_RETURN_TYPE.
* libc/stdio/stdio.c (__sread, __swrite): Likewise.
* libc/stdio/local.h (__sread, __swrite): Likewise.
* libc/include/sys/reent.h (_read, _write): Likewise.
* libc/include/sys/unistd.h (read, write, _read, _write): Likewise.
* libc/syscalls/sysread.c (read): Likewise.
* libc/syscalls/syswrite.c (write): Likewise.
2001-03-06 01:04:43 +00:00
Christopher Faylor
8a0efa53e4
import newlib-2000-02-17 snapshot
2000-02-17 19:39:52 +00:00