* libc/include/stdio.h: Add gcc format attributes to printf and

scanf families.
This commit is contained in:
Eric Blake 2007-04-10 12:47:13 +00:00
parent abe43f4262
commit 17c0c97d7c
2 changed files with 426 additions and 349 deletions

View File

@ -1,3 +1,8 @@
2007-04-09 Eric Blake <ebb9@byu.net>
* libc/include/stdio.h: Add gcc format attributes to printf and
scanf families.
2007-04-09 Joel Schopp <jschopp@austin.ibm.com>
* libc/machine/spu/strxfrm.c: Fix strxfrm so we still copy data
@ -772,8 +777,8 @@
2006-08-17 Brian Ford <Brian.Ford@FlightSafety.com>
* libc/time/gmtime.c: Correct man page; clock is not a
local time and no conversion occurs.
* libc/time/gmtime.c: Correct man page; clock is not a
local time and no conversion occurs.
2006-08-16 Joel Schopp <jschopp@austin.ibm.com>
@ -10488,7 +10493,7 @@ Thu Oct 28 05:30:46 1999 Andrew Cagney <cagney@makita.cygnus.com>
Thu Oct 28 15:29:11 1999 Andrew Cagney <cagney@b1.cygnus.com>
* libc/sys/d10v/crt0.S (_start): Initialize both SPI and SPU
ensuring that there is space between the two.
ensuring that there is space between the two.
Thu Oct 14 13:39:21 1999 Christopher Faylor <cgf@cygnus.com>
@ -11537,7 +11542,7 @@ Fri Aug 21 14:44:14 1998 Jeff Johnston <jjohnstn@cygnus.com>
for MB_CAPABLE to reduce code size when newlib is not configured
with --enable-newlib-mb.
* libc/stdlib/Makefile.am: Specified -fshort-enums when building
mbtowc_r.o to minimize size.
mbtowc_r.o to minimize size.
* libc/stdlib/Makefile.in: Rebuild.
Wed Aug 19 16:20:13 1998 Jim Wilson <wilson@cygnus.com>
@ -11581,7 +11586,7 @@ Wed Jul 22 18:00:10 1998 Ian Lance Taylor <ian@cygnus.com>
Wed Jul 22 17:11:33 1998 Jeff Johnston <jjohnstn@cygnus.com>
* libm/math/wrf_lgamma.c (lgammaf_r): Initialize exc.err to 0 and
also set exc.arg1, exc.arg2 appropriately in case matherr is supplied.
also set exc.arg1, exc.arg2 appropriately in case matherr is supplied.
* libm/math/wrf_gamma.c (gammaf_r): ditto
* libm/math/wr_lgamma.c (lgamma_r): ditto
* libm/math/wr_gamma.c (gamma_r): ditto
@ -11709,7 +11714,7 @@ Thu Jun 18 16:56:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
* libc/machine/mn10300/strcmp.S (_strcmp): ditto
* libc/machine/mn10300/strcpy.S (_strcpy): ditto
* libc/machine/mn10300/Makefile.in: Added entries for
memchr.o, memcmp.o, memcpy.o, memset.o, strchr.o,
memchr.o, memcmp.o, memcpy.o, memset.o, strchr.o,
strcmp.o, strcpy.o, and strlen.o.
Wed Jun 17 12:50:26 1998 Mark Alexander <marka@cygnus.com>
@ -11861,12 +11866,12 @@ Mon May 18 19:01:02 1998 Michael Meissner <meissner@cygnus.com>
Sun May 17 18:40:32 1998 Frank Ch. Eigler <fche@cygnus.com>
* libc/stdlib/mbtowc_r.c (_mbtowc_r): Accept a NULL
_current_locale as default locale.
_current_locale as default locale.
Sat May 16 21:59:59 1998 Bob Manson <manson@charmed.cygnus.com>
* libc/stdlib/mallocr.c (mALLOc): Add explicit tests for
insufficient space in a chunk.
insufficient space in a chunk.
Tue May 12 14:41:01 1998 Jeff Johnston <jjohnstn@cygnus.com>
@ -11880,7 +11885,7 @@ Tue May 12 14:41:01 1998 Jeff Johnston <jjohnstn@cygnus.com>
* libc/stdlib/wctomb_r.c (_wctomb_r): New function _wctomb_r that
implements wctomb() with multibyte support for JIS, SJIS, and EUC-JP.
* libc/stdlib/mbstowcs_r.c (_mbstowcs_r): New function _mbstowcs_r that
implements mbstowcs() with multibyte support for JIS, SJIS, and EUC-JP.
implements mbstowcs() with multibyte support for JIS, SJIS, and EUC-JP.
* libc/stdlib/wcstombs_r.c (_wcstombs_r): New function _wcstomb_r that implements
wcstombs() with multibyte support for JIS, SJIS, and EUC-JP.
* libc/stdlib/Makefile.in: Added new multibyte
@ -11890,7 +11895,7 @@ Tue May 12 14:41:01 1998 Jeff Johnston <jjohnstn@cygnus.com>
* libc/stdlib/mbctype.h: New internal header file that contains macros to test
for JIS, SJIS, and EUC-JP characters.
* libc/stdlib/mblen.c (mblen): Added code to call _mbtowc_r() if
MB_CAPABLE defined.
MB_CAPABLE defined.
* libc/stdlib/mbtowc.c (mbtowc): Added code to call _mbtowc_r() if
MB_CAPABLE defined.
* libc/stdlib/wctomb.c (wctomb): Added code to call _wctomb_r() if
@ -12093,7 +12098,7 @@ Wed Jan 28 13:30:14 1998 Geoffrey Noer <noer@cygnus.com>
Wed Jan 28 10:38:34 1998 Jeff Johnston <jjohnstn@cygnus.com>
* libc/machine/tic80/setjmp.S: Adding _setjmp to allow
TI Libraries to link to libc.a
TI Libraries to link to libc.a
Sat Jan 24 10:15:56 1998 Michael Meissner <meissner@cygnus.com>
@ -12352,7 +12357,7 @@ Tue Oct 21 17:23:34 1997 Nick Clifton <nickc@cygnus.com>
* configure.in (links): Define PREFER_SIZE_OVER_SPEED for v850
targets.
* libc/string/{memchr.c, memcmp.c, memcpy.c}: Add space
* libc/string/{memchr.c, memcmp.c, memcpy.c}: Add space
optimised version which is selected if PREFER_SIZE_OVER_SPEED is
defined.
* libc/string/{memset.c, strcat.c, strchr.c}: Likewise.
@ -12623,7 +12628,7 @@ Fri May 16 15:02:59 1997 Bob Manson <manson@charmed.cygnus.com>
Wed May 14 21:16:58 1997 Bob Manson <manson@charmed.cygnus.com>
* libm/math/ef_hypot.c: Use long constants where
appropriate.
appropriate.
* libm/math/ef_sqrt.c: Ditto.
* libc/sys/sysmec/times.c(_times): Change to times.
@ -13078,10 +13083,10 @@ Mon Sep 30 12:02:50 1996 Doug Evans <dje@canuck.cygnus.com>
Mon Sep 30 00:34:41 1996 James G. Smith <jsmith@cygnus.co.uk>
* libc/sys/arm/trap.S (__rt_stkovf_split_big,
__rt_stkovf_split_small): Added default software stack overflow
handlers, which just call SWI_Exit.
__rt_stkovf_split_small): Added default software stack overflow
handlers, which just call SWI_Exit.
* libc/sys/arm/crt0.S (_mainCRTStartup): Simple software stack
limit initialisation.
limit initialisation.
Fri Sep 27 13:08:03 1996 Mark Alexander <marka@cygnus.com>
@ -13270,21 +13275,21 @@ Wed Aug 14 23:43:28 1996 Geoffrey Noer <noer@cygnus.com>
Fri Aug 2 18:28:07 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/reent/{closer.c, execr.c, fstatr.c, linkr.c, lseekr.c,
openr.c, readr.c, sbrkr.c, signalr.c, statr.c, timer.c, writer.c}:
Partially revert last changes. The thread specific errno is set
iff if the underlying syscall fails and the global errno is not
zero.
openr.c, readr.c, sbrkr.c, signalr.c, statr.c, timer.c, writer.c}:
Partially revert last changes. The thread specific errno is set
iff if the underlying syscall fails and the global errno is not
zero.
Fri Jul 19 11:41:52 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/reent/filer.c: Removed files, all functions have split out
into their own files.
into their own files.
* libc/reent/{closer.c, lseekr.c, openr.c, readr.c, writer.c}:
New files containing functions formally in filer.c
* libc/reent/Makefile.in: Updated for above change.
* libc/reent/execr.c (_fork_r, _wait_r): Set errno if underlying
syscall fails, not if errno is changed.
syscall fails, not if errno is changed.
* libc/reent/filer.c (_open_r, _close_r, _lseek_r, _read_r,
_write_r): Likewise.
* libc/reent/fstatr.c (_fstat_r): Likewise.
@ -13295,12 +13300,12 @@ Fri Jul 19 11:41:52 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/reent/timer.c (_gettimeofday_r): Likewise.
* libc/reent/{execr.c, filer.c, fstatr.c, linkr.c, sbrkr.c,
signalr.c, statr.c, timer.c} (errno): declare extern rather
signalr.c, statr.c, timer.c} (errno): declare extern rather
than as a common.
* libc/stdio/vfprintf.c (__sbprintf): Use the VFPRINTF macro
instead of calling vfprintf so that i*printf will not require
floating point support code.
instead of calling vfprintf so that i*printf will not require
floating point support code.
Mon Jul 15 16:50:59 1996 Doug Evans <dje@canuck.cygnus.com>
@ -13387,17 +13392,17 @@ Thu Jun 6 11:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
Mon Jun 3 11:30:00 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/include/sys/reent.h (struct _reent): Removed _asctime,
_next, _scanpoint, _signgam fields.
_next, _scanpoint, _signgam fields.
* libc/include/stdlib.h (rand_r): Added new declaration.
(_rand_r, _srand_r): Removed declarations.
* libc/stdlib/rand.c (_rand_r, _srand_r): Removed, these functions
have been made obsolete by rand_r.
have been made obsolete by rand_r.
* libc/stdlib/rand_r.c: New file, rand_r function as specified
by POSIX.1c.
by POSIX.1c.
* libc/string/strtok.c: Update documentation to describe
strtok_r().
strtok_r().
Sat Jun 1 23:50:39 1996 Michael Meissner <meissner@cygnus.com>
@ -13412,8 +13417,8 @@ Tue May 28 13:02:42 1996 Doug Evans <dje@canuck.cygnus.com>
Fri May 17 10:34:44 1996 Ian Lance Taylor <ian@cygnus.com>
* host/any: Use ../.. rather than .. to get to the main build
directory. This matches the current layout of the build
directory.
directory. This matches the current layout of the build
directory.
Wed May 15 15:52:27 1996 Jeffrey A Law (law@cygnus.com)
@ -13491,7 +13496,7 @@ Mon Mar 25 15:29:14 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/machine/sh/asm.h: New file.
* libc/machine/sh/setjmp.S: Only save clobbered registers. Added
support for SH3e's FP registers. Use asm.h.
support for SH3e's FP registers. Use asm.h.
Mon Mar 25 11:59:23 1996 Jeffrey A Law (law@cygnus.com)
@ -13552,7 +13557,7 @@ Mon Feb 5 15:17:51 1996 J.T. Conklin <jtc@rtl.cygnus.com>
* libm/math/sf_asinh.c: Fix typo.
* Makefile.in (MATHOBJS_IN_LIBC): Removed sr_ldexp.o and
srf_ldexp.o.
srf_ldexp.o.
* libm/libm.texinfo: Change documentation to reflect changes
in reentrancy model.
@ -13616,7 +13621,7 @@ Mon Dec 11 17:35:12 1995 steve chamberlain <sac@slash.cygnus.com>
Fri Dec 1 16:48:46 1995 James G. Smith <jsmith@cygnus.co.uk>
* libc/sys/vr4300/syscalls.c (sbrk): Fixed memory
addressing. System call returns size, not (last address + 1).
addressing. System call returns size, not (last address + 1).
Thu Nov 30 15:05:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
@ -13632,14 +13637,14 @@ Thu Nov 30 15:05:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
wrappers are not needed at all.
* libc/sys/sysnec810/sbrk.c: Cast &end to char * to get around
strict NEC V810 compiler.
strict NEC V810 compiler.
* libc/misc/dprintf.c (getnumber): Cast char * to unsigned char *
for same reason.
for same reason.
Wed Nov 29 14:25:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/stdlib/strtol.c (_strtol_r): Replaced with implementation
from NetBSD C library.
from NetBSD C library.
* libc/stdlib/strtoul.c (_strtoul_r): Likewise.
* libc/stdlib/assert.c (__assert): Renamed from __assertfail
@ -13647,7 +13652,7 @@ Wed Nov 29 14:25:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
The difference is __assert doesn't take a format argument,
so that there won't be multiple copies of the same string
constant in the executable if assertions are enabled in
more than one source module.
more than one source module.
* libc/include/assert.h (assert): Changed to call __assert.
Tue Nov 28 16:54:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
@ -13657,7 +13662,7 @@ Tue Nov 28 16:54:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/stdlib/qsort.c (qsort): Cast some void *'s to char *'s
so that we can do arithmetic on them.
* libc/misc/dprintf.c: Changed to support stdarg.h for ANSI
compilers.
compilers.
Tue Nov 28 16:03:32 1995 Doug Evans <dje@canuck.cygnus.com>
@ -13689,7 +13694,7 @@ Wed Nov 8 01:24:08 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
* libc/sys/vr4300/syscalls.c: Added clean version of sbrk().
* libc/sys/vr4300/crt0.S: Cleaned up. Added check for FPU
presence.
presence.
Thu Nov 2 22:25:06 1995 Michael Meissner <meissner@tiktok.cygnus.com>
@ -13713,7 +13718,7 @@ Wed Nov 1 14:35:52 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/string/Makefile.in (OFILES): Add new object.
* libc/string/strtok_r.c: New file. strtok_r function as
specified by POSIX.1c, adapted from strtok implementation
specified by POSIX.1c, adapted from strtok implementation
from NetBSD C library.
* libc/string/strtok.c (strtok): Reimplemented in terms of
strtok_r.
@ -13752,7 +13757,7 @@ Wed Oct 25 15:43:18 1995 Michael Meissner <meissner@cygnus.com>
Mon Oct 23 11:20:51 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
* libc/sys/vr4300/syscalls.c: Added empty kill() function,
referenced by standard libraries.
referenced by standard libraries.
Thu Oct 19 21:39:47 1995 Fred Fish <fnf@cygnus.com>
@ -13802,8 +13807,8 @@ Sat Oct 14 12:55:08 1995 Jim Wilson <wilson@chestnut.cygnus.com>
Thu Oct 12 11:39:42 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/stdlib/dtoa.c (_dtoa_r): Set result pointer to the
address of the Bigint instead of the address of its _x field,
as the size the result buffer was calculated accordingly.
address of the Bigint instead of the address of its _x field,
as the size the result buffer was calculated accordingly.
Fix from Jim Wilson <wilson@chestnut@cygnus.com>.
* libc/stdlib/{div.c, ldiv.c}: Replaced with implementation
@ -13840,7 +13845,7 @@ Fri Oct 6 11:19:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* libc/stdlib/mprec.c (d2b): Added support for _DOUBLE_IS_32BITS.
* libc/stdlib/mprec.h: Fixed constants used for IEEE single float
format. Added #defines to map d2b, i2b, low0bits, lshift, mult,
pow5mult and s2b to identifiers with leading underscores.
pow5mult and s2b to identifiers with leading underscores.
* libc/stdlib/Makefile.in: Add mprec.h as a dependency to dtoa.o,
ecvtbuf.o, mprec.o and strtod.o. Sort dependencies.
@ -14241,7 +14246,7 @@ Tue Sep 5 13:47:27 1995 J.T. Conklin <jtc@rtl.cygnus.com>
Fri Sep 1 15:35:18 1995 James G. Smith <jsmith@beauty.cygnus.com>
* libc/sys/vr4300/syscalls.c: Added missing support
routines. _raise() and getpid().
routines. _raise() and getpid().
Fri Sep 1 14:12:48 1995 James G. Smith <jsmith@rtl.cygnus.com>
@ -14253,7 +14258,7 @@ Fri Sep 1 08:42:11 1995 James G. Smith <jsmith@beauty.cygnus.com>
and VR4300 processor.
* libc/sys/vr4300: Add directory.
* libc/sys/vr4300/{Makefile.in, crt0.S, syscalls.c}: Add SIM
monitor run-time support.
monitor run-time support.
Thu Aug 31 09:16:52 1995 J.T. Conklin <jtc@rtl.cygnus.com>
@ -14647,7 +14652,7 @@ Mon Jul 24 11:42:07 1995 steve chamberlain <sac@slash.cygnus.com>
* libc/sys/win32/crt0.c (mainCRTStartup): Look for
ptrace with case insensitivity
* libc/sys/win32/{user32.def, gdi32.def, exceptions.c, screen.c,
sys/winbase.h, sys/windows.h, sys/wintypes.h, sys/winuser.h}:
sys/winbase.h, sys/windows.h, sys/wintypes.h, sys/winuser.h}:
New files.
Fri Jul 21 11:22:26 1995 Doug Evans <dje@canuck.cygnus.com>
@ -16517,7 +16522,7 @@ Fri Feb 12 12:50:06 1993 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in (FLAGS_TO_PASS): Put INSTALL back in.
(info): Split long shell command in half.
* libc/Makefile.in (info, targetdep.tex): Don't pass everything to
* libc/Makefile.in (info, targetdep.tex): Don't pass everything to
sub-makes, just CHEW and TARGETDOC.
(targetdep.tex): Removed now special handling of sys and machine
subdirectories, made obsolete some time ago.
@ -16862,7 +16867,7 @@ Tue Sep 1 15:21:14 1992 Ian Lance Taylor (ian@cygnus.com)
* libc/configure.in: cleaned up somewhat; switch on ${target}
rather than ${target_alias}.
* libm/configure.in: cleaned up somewhat; switch on ${target}
* libm/configure.in: cleaned up somewhat; switch on ${target}
rather than ${target_alias}.
* libc/ctype/ctype_.c: marked _ctype_ array _CONST.

View File

@ -174,14 +174,22 @@ int _EXFUN(fflush, (FILE *));
FILE * _EXFUN(freopen, (const char *, const char *, FILE *));
void _EXFUN(setbuf, (FILE *, char *));
int _EXFUN(setvbuf, (FILE *, char *, int, size_t));
int _EXFUN(fprintf, (FILE *, const char *, ...));
int _EXFUN(fscanf, (FILE *, const char *, ...));
int _EXFUN(printf, (const char *, ...));
int _EXFUN(scanf, (const char *, ...));
int _EXFUN(sscanf, (const char *, const char *, ...));
int _EXFUN(vfprintf, (FILE *, const char *, __VALIST));
int _EXFUN(vprintf, (const char *, __VALIST));
int _EXFUN(vsprintf, (char *, const char *, __VALIST));
int _EXFUN(fprintf, (FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(fscanf, (FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(printf, (const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 1, 2))));
int _EXFUN(scanf, (const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 1, 2))));
int _EXFUN(sscanf, (const char *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(vfprintf, (FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vprintf, (const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 1, 0))));
int _EXFUN(vsprintf, (char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(fgetc, (FILE *));
char * _EXFUN(fgets, (char *, int, FILE *));
int _EXFUN(fputc, (int, FILE *));
@ -214,7 +222,8 @@ int _EXFUN(ferror, (FILE *));
void _EXFUN(perror, (const char *));
#ifndef _REENT_ONLY
FILE * _EXFUN(fopen, (const char *_name, const char *_type));
int _EXFUN(sprintf, (char *, const char *, ...));
int _EXFUN(sprintf, (char *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(remove, (const char *));
int _EXFUN(rename, (const char *, const char *));
#endif
@ -227,37 +236,64 @@ int _EXFUN(fseeko, (FILE *, off_t, int));
off_t _EXFUN(ftello, ( FILE *));
#endif
#ifndef _REENT_ONLY
int _EXFUN(asiprintf, (char **, const char *, ...));
int _EXFUN(asprintf, (char **, const char *, ...));
int _EXFUN(asiprintf, (char **, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(asprintf, (char **, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
#ifndef dprintf
int _EXFUN(diprintf, (int, const char *, ...));
int _EXFUN(dprintf, (int, const char *, ...));
int _EXFUN(diprintf, (int, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(dprintf, (int, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
#endif
int _EXFUN(fcloseall, (_VOID));
int _EXFUN(fiprintf, (FILE *, const char *, ...));
int _EXFUN(fiscanf, (FILE *, const char *, ...));
int _EXFUN(iprintf, (const char *, ...));
int _EXFUN(iscanf, (const char *, ...));
int _EXFUN(siprintf, (char *, const char *, ...));
int _EXFUN(siscanf, (const char *, const char *, ...));
int _EXFUN(snprintf, (char *, size_t, const char *, ...));
int _EXFUN(sniprintf, (char *, size_t, const char *, ...));
int _EXFUN(fiprintf, (FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(fiscanf, (FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(iprintf, (const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 1, 2))));
int _EXFUN(iscanf, (const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 1, 2))));
int _EXFUN(siprintf, (char *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(siscanf, (const char *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(snprintf, (char *, size_t, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(sniprintf, (char *, size_t, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
char * _EXFUN(tempnam, (const char *, const char *));
int _EXFUN(vasiprintf, (char **, const char *, __VALIST));
int _EXFUN(vasprintf, (char **, const char *, __VALIST));
int _EXFUN(vdiprintf, (int, const char *, __VALIST));
int _EXFUN(vdprintf, (int, const char *, __VALIST));
int _EXFUN(vsniprintf, (char *, size_t, const char *, __VALIST));
int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST));
int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST));
int _EXFUN(vfiscanf, (FILE *, const char *, __VALIST));
int _EXFUN(vfscanf, (FILE *, const char *, __VALIST));
int _EXFUN(viprintf, (const char *, __VALIST));
int _EXFUN(vsiprintf, (char *, const char *, __VALIST));
int _EXFUN(viscanf, (const char *, __VALIST));
int _EXFUN(vscanf, (const char *, __VALIST));
int _EXFUN(vsiscanf, (const char *, const char *, __VALIST));
int _EXFUN(vsscanf, (const char *, const char *, __VALIST));
int _EXFUN(vasiprintf, (char **, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vasprintf, (char **, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vdiprintf, (int, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vdprintf, (int, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vsniprintf, (char *, size_t, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(vfiscanf, (FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
int _EXFUN(vfscanf, (FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
int _EXFUN(viprintf, (const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 1, 0))));
int _EXFUN(vsiprintf, (char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(viscanf, (const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 1, 0))));
int _EXFUN(vscanf, (const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 1, 0))));
int _EXFUN(vsiscanf, (const char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
int _EXFUN(vsscanf, (const char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
#endif
#endif
@ -289,22 +325,30 @@ int _EXFUN(putchar_unlocked, (int));
* Recursive versions of the above.
*/
int _EXFUN(_asiprintf_r, (struct _reent *, char **, const char *, ...));
int _EXFUN(_asprintf_r, (struct _reent *, char **, const char *, ...));
int _EXFUN(_diprintf_r, (struct _reent *, int, const char *, ...));
int _EXFUN(_dprintf_r, (struct _reent *, int, const char *, ...));
int _EXFUN(_asiprintf_r, (struct _reent *, char **, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_asprintf_r, (struct _reent *, char **, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_diprintf_r, (struct _reent *, int, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_dprintf_r, (struct _reent *, int, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_fclose_r, (struct _reent *, FILE *));
int _EXFUN(_fcloseall_r, (struct _reent *));
FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *));
FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *));
char * _EXFUN(_fgets_r, (struct _reent *, char *, int, FILE *));
int _EXFUN(_fiprintf_r, (struct _reent *, FILE *, const char *, ...));
int _EXFUN(_fiscanf_r, (struct _reent *, FILE *, const char *, ...));
int _EXFUN(_fprintf_r, (struct _reent *, FILE *, const char *, ...));
int _EXFUN(_fiprintf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_fiscanf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 3, 4))));
int _EXFUN(_fprintf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_fputc_r, (struct _reent *, int, FILE *));
int _EXFUN(_fputs_r, (struct _reent *, const char *, FILE *));
size_t _EXFUN(_fread_r, (struct _reent *, _PTR, size_t _size, size_t _n, FILE *));
int _EXFUN(_fscanf_r, (struct _reent *, FILE *, const char *, ...));
int _EXFUN(_fscanf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 3, 4))));
int _EXFUN(_fseek_r, (struct _reent *, FILE *, long, int));
long _EXFUN(_ftell_r, (struct _reent *, FILE *));
size_t _EXFUN(_fwrite_r, (struct _reent *, const _PTR , size_t _size, size_t _n, FILE *));
@ -313,12 +357,15 @@ int _EXFUN(_getc_unlocked_r, (struct _reent *, FILE *));
int _EXFUN(_getchar_r, (struct _reent *));
int _EXFUN(_getchar_unlocked_r, (struct _reent *));
char * _EXFUN(_gets_r, (struct _reent *, char *));
int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...));
int _EXFUN(_iscanf_r, (struct _reent *, const char *, ...));
int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(_iscanf_r, (struct _reent *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(_mkstemp_r, (struct _reent *, char *));
char * _EXFUN(_mktemp_r, (struct _reent *, char *));
void _EXFUN(_perror_r, (struct _reent *, const char *));
int _EXFUN(_printf_r, (struct _reent *, const char *, ...));
int _EXFUN(_printf_r, (struct _reent *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(_putc_r, (struct _reent *, int, FILE *));
int _EXFUN(_putc_unlocked_r, (struct _reent *, int, FILE *));
int _EXFUN(_putchar_unlocked_r, (struct _reent *, int));
@ -327,35 +374,60 @@ int _EXFUN(_puts_r, (struct _reent *, const char *));
int _EXFUN(_remove_r, (struct _reent *, const char *));
int _EXFUN(_rename_r, (struct _reent *,
const char *_old, const char *_new));
int _EXFUN(_scanf_r, (struct _reent *, const char *, ...));
int _EXFUN(_siprintf_r, (struct _reent *, char *, const char *, ...));
int _EXFUN(_siscanf_r, (struct _reent *, const char *, const char *, ...));
int _EXFUN(_sniprintf_r, (struct _reent *, char *, size_t, const char *, ...));
int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...));
int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...));
int _EXFUN(_sscanf_r, (struct _reent *, const char *, const char *, ...));
int _EXFUN(_scanf_r, (struct _reent *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 2, 3))));
int _EXFUN(_siprintf_r, (struct _reent *, char *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_siscanf_r, (struct _reent *, const char *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 3, 4))));
int _EXFUN(_sniprintf_r, (struct _reent *, char *, size_t, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 4, 5))));
int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 4, 5))));
int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_sscanf_r, (struct _reent *, const char *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 3, 4))));
char * _EXFUN(_tempnam_r, (struct _reent *, const char *, const char *));
FILE * _EXFUN(_tmpfile_r, (struct _reent *));
char * _EXFUN(_tmpnam_r, (struct _reent *, char *));
int _EXFUN(_ungetc_r, (struct _reent *, int, FILE *));
int _EXFUN(_vasiprintf_r, (struct _reent *, char **, const char *, __VALIST));
int _EXFUN(_vasprintf_r, (struct _reent *, char **, const char *, __VALIST));
int _EXFUN(_vdiprintf_r, (struct _reent *, int, const char *, __VALIST));
int _EXFUN(_vdprintf_r, (struct _reent *, int, const char *, __VALIST));
int _EXFUN(_vfiprintf_r, (struct _reent *, FILE *, const char *, __VALIST));
int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST));
int _EXFUN(_viprintf_r, (struct _reent *, const char *, __VALIST));
int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST));
int _EXFUN(_vsiprintf_r, (struct _reent *, char *, const char *, __VALIST));
int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST));
int _EXFUN(_vsniprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST));
int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST));
int _EXFUN(_vfiscanf_r, (struct _reent *, FILE *, const char *, __VALIST));
int _EXFUN(_vfscanf_r, (struct _reent *, FILE *, const char *, __VALIST));
int _EXFUN(_viscanf_r, (struct _reent *, const char *, __VALIST));
int _EXFUN(_vscanf_r, (struct _reent *, const char *, __VALIST));
int _EXFUN(_vsscanf_r, (struct _reent *, const char *, const char *, __VALIST));
int _EXFUN(_vsiscanf_r, (struct _reent *, const char *, const char *, __VALIST));
int _EXFUN(_vasiprintf_r, (struct _reent *, char **, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vasprintf_r, (struct _reent *, char **, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vdiprintf_r, (struct _reent *, int, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vdprintf_r, (struct _reent *, int, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vfiprintf_r, (struct _reent *, FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_viprintf_r, (struct _reent *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 2, 0))));
int _EXFUN(_vsiprintf_r, (struct _reent *, char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 3, 0))));
int _EXFUN(_vsniprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 4, 0))));
int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__printf__, 4, 0))));
int _EXFUN(_vfiscanf_r, (struct _reent *, FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 3, 0))));
int _EXFUN(_vfscanf_r, (struct _reent *, FILE *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 3, 0))));
int _EXFUN(_viscanf_r, (struct _reent *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
int _EXFUN(_vscanf_r, (struct _reent *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 2, 0))));
int _EXFUN(_vsscanf_r, (struct _reent *, const char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 3, 0))));
int _EXFUN(_vsiscanf_r, (struct _reent *, const char *, const char *, __VALIST)
_ATTRIBUTE ((__format__ (__scanf__, 3, 0))));
ssize_t _EXFUN(__getdelim, (char **, size_t *, int, FILE *));
ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));