20
20
@PRAGMA_SYSTEM_HEADER@
23
#if defined __need_FILE || defined __need___FILE
24
/* Special invocation convention inside glibc header files. */
24
#if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H
25
/* Special invocation convention:
26
- Inside glibc header files.
27
- On OSF/1 5.1 we have a sequence of nested includes
28
<stdio.h> -> <getopt.h> -> <ctype.h> -> <sys/localedef.h> ->
29
<sys/lc_core.h> -> <nl_types.h> -> <mesg.h> -> <stdio.h>.
30
In this situation, the functions are not yet declared, therefore we cannot
31
provide the C++ aliases. */
26
33
#@INCLUDE_NEXT@ @NEXT_STDIO_H@
29
36
/* Normal invocation convention. */
38
#ifndef _@GUARD_PREFIX@_STDIO_H
40
#define _GL_ALREADY_INCLUDING_STDIO_H
33
42
/* The include_next requires a split double-inclusion guard. */
34
43
#@INCLUDE_NEXT@ @NEXT_STDIO_H@
45
#undef _GL_ALREADY_INCLUDING_STDIO_H
47
#ifndef _@GUARD_PREFIX@_STDIO_H
48
#define _@GUARD_PREFIX@_STDIO_H
39
50
/* Get va_list. Needed on many systems, including glibc 2.8. */
40
51
#include <stdarg.h>
42
53
#include <stddef.h>
44
/* Get off_t and ssize_t. Needed on many systems, including glibc 2.8. */
55
/* Get off_t and ssize_t. Needed on many systems, including glibc 2.8
45
57
#include <sys/types.h>
48
59
/* The __attribute__ feature is available in gcc versions 2.5 and later.
49
60
The __-protected variants of the attributes 'format' and 'printf' are
50
61
accepted by gcc versions 2.6.4 (effectively 2.7) and later.
51
We enable __attribute__ only if these are supported too, because
62
We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
52
63
gnulib and libintl do '#define printf __printf__' when they override
53
64
the 'printf' function. */
54
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
55
# define __attribute__(Spec) /* empty */
65
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
66
# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
68
# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
71
/* _GL_ATTRIBUTE_FORMAT_PRINTF
72
indicates to GCC that the function takes a format string and arguments,
73
where the format string directives are the ones standardized by ISO C99
75
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
76
# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
77
_GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
79
# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
80
_GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
83
/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF,
84
except that it indicates to GCC that the supported format string directives
85
are the ones of the system printf(), rather than the ones standardized by
87
#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
88
_GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
90
/* _GL_ATTRIBUTE_FORMAT_SCANF
91
indicates to GCC that the function takes a format string and arguments,
92
where the format string directives are the ones standardized by ISO C99
94
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
95
# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
96
_GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument))
98
# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
99
_GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
102
/* _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_SCANF,
103
except that it indicates to GCC that the supported format string directives
104
are the ones of the system scanf(), rather than the ones standardized by
105
ISO C99 and POSIX. */
106
#define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
107
_GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
109
/* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>. */
110
/* But in any case avoid namespace pollution on glibc systems. */
111
#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \
112
&& ! defined __GLIBC__
74
131
# define dprintf rpl_dprintf
76
133
_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...)
77
__attribute__ ((__format__ (__printf__, 2, 3)))
134
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
78
135
_GL_ARG_NONNULL ((2)));
79
136
_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...));
81
138
# if !@HAVE_DPRINTF@
82
139
_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...)
83
__attribute__ ((__format__ (__printf__, 2, 3)))
140
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
84
141
_GL_ARG_NONNULL ((2)));
86
143
_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...));
137
194
"use gnulib module fflush for portable POSIX compliance");
140
/* It is very rare that the developer ever has full control of stdin,
141
so any use of gets warrants an unconditional warning. Assume it is
142
always declared, since it is required by C89. */
144
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
198
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
199
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
201
# define fgetc rpl_fgetc
203
_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
204
_GL_CXXALIAS_RPL (fgetc, int, (FILE *stream));
206
_GL_CXXALIAS_SYS (fgetc, int, (FILE *stream));
208
_GL_CXXALIASWARN (fgetc);
212
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
213
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
215
# define fgets rpl_fgets
217
_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream)
218
_GL_ARG_NONNULL ((1, 3)));
219
_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream));
221
_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream));
223
_GL_CXXALIASWARN (fgets);
146
226
#if @GNULIB_FOPEN@
147
227
# if @REPLACE_FOPEN@
166
246
#if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@
167
247
# if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \
168
|| (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
248
|| (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
169
249
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
170
250
# define fprintf rpl_fprintf
172
252
# define GNULIB_overrides_fprintf 1
173
_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
174
__attribute__ ((__format__ (__printf__, 2, 3)))
175
_GL_ARG_NONNULL ((1, 2)));
253
# if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
254
_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
255
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
256
_GL_ARG_NONNULL ((1, 2)));
258
_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
259
_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3)
260
_GL_ARG_NONNULL ((1, 2)));
176
262
_GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...));
178
264
_GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...));
246
332
_GL_CXXALIASWARN (fputs);
336
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
337
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
339
# define fread rpl_fread
341
_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)
342
_GL_ARG_NONNULL ((4)));
343
_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
345
_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
347
_GL_CXXALIASWARN (fread);
249
350
#if @GNULIB_FREOPEN@
250
351
# if @REPLACE_FREOPEN@
251
352
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
265
366
#elif defined GNULIB_POSIXCHECK
267
368
/* Assume freopen is always declared. */
268
_GL_WARN_ON_USE (freopen, "freopen on Win32 platforms is not POSIX compatible - "
369
_GL_WARN_ON_USE (freopen,
370
"freopen on Win32 platforms is not POSIX compatible - "
269
371
"use gnulib module freopen for portability");
375
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
376
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
378
# define fscanf rpl_fscanf
380
_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...)
381
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
382
_GL_ARG_NONNULL ((1, 2)));
383
_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...));
385
_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...));
387
_GL_CXXALIASWARN (fscanf);
273
391
/* Set up the following warnings, based on which modules are in use.
274
392
GNU Coding Standards discourage the use of fseek, since it imposes
336
454
_GL_ARG_NONNULL ((1)));
337
455
_GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence));
457
# if ! @HAVE_DECL_FSEEKO@
340
458
_GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)
341
459
_GL_ARG_NONNULL ((1)));
343
461
_GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
345
463
_GL_CXXALIASWARN (fseeko);
346
# if (@REPLACE_FSEEKO@ || !@HAVE_FSEEKO@) && !@GNULIB_FSEEK@
347
/* Provide an fseek function that is consistent with fseeko. */
348
/* In order to avoid that fseek gets defined as a macro here, the
349
developer can request the 'fseek' module. */
351
# define fseek rpl_fseek
352
static inline int _GL_ARG_NONNULL ((1))
353
rpl_fseek (FILE *fp, long offset, int whence)
355
# if @REPLACE_FSEEKO@
356
return rpl_fseeko (fp, offset, whence);
358
return fseeko (fp, offset, whence);
362
464
#elif defined GNULIB_POSIXCHECK
363
465
# define _GL_FSEEK_WARN /* Category 1, above. */
412
514
_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
413
515
_GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
517
# if ! @HAVE_DECL_FTELLO@
416
518
_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
418
520
_GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
420
522
_GL_CXXALIASWARN (ftello);
421
# if (@REPLACE_FTELLO@ || !@HAVE_FTELLO@) && !@GNULIB_FTELL@
422
/* Provide an ftell function that is consistent with ftello. */
423
/* In order to avoid that ftell gets defined as a macro here, the
424
developer can request the 'ftell' module. */
426
# define ftell rpl_ftell
427
static inline long _GL_ARG_NONNULL ((1))
430
# if @REPLACE_FTELLO@
431
return rpl_ftello (f);
437
523
#elif defined GNULIB_POSIXCHECK
438
524
# define _GL_FTELL_WARN /* Category 1, above. */
469
555
_GL_CXXALIAS_SYS (fwrite, size_t,
470
556
(const void *ptr, size_t s, size_t n, FILE *stream));
558
/* Work around glibc bug 11959
559
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
560
which sometimes causes an unwanted diagnostic for fwrite calls.
561
This affects only function declaration attributes, so it's not
563
# if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
564
static inline size_t _GL_ARG_NONNULL ((1, 4))
565
rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
567
size_t r = fwrite (ptr, s, n, stream);
572
# define fwrite rpl_fwrite
472
575
_GL_CXXALIASWARN (fwrite);
579
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
580
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
582
# define getc rpl_fgetc
584
_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
585
_GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream));
587
_GL_CXXALIAS_SYS (getc, int, (FILE *stream));
589
_GL_CXXALIASWARN (getc);
593
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
594
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
596
# define getchar rpl_getchar
598
_GL_FUNCDECL_RPL (getchar, int, (void));
599
_GL_CXXALIAS_RPL (getchar, int, (void));
601
_GL_CXXALIAS_SYS (getchar, int, (void));
603
_GL_CXXALIASWARN (getchar);
475
606
#if @GNULIB_GETDELIM@
476
607
/* Read input, up to (and including) the next occurrence of DELIMITER, from
477
608
STREAM, store it in *LINEPTR (and NUL-terminate it).
683
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
684
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
686
# define gets rpl_gets
688
_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
689
_GL_CXXALIAS_RPL (gets, char *, (char *s));
691
_GL_CXXALIAS_SYS (gets, char *, (char *s));
694
_GL_CXXALIASWARN (gets);
695
/* It is very rare that the developer ever has full control of stdin,
696
so any use of gets warrants an unconditional warning. Assume it is
697
always declared, since it is required by C89. */
698
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
551
702
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
553
704
/* Grow an obstack with formatted output. Return the number of
644
795
#if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@
645
796
# if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
646
|| (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
797
|| (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
647
798
# if defined __GNUC__
648
799
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
649
800
/* Don't break __attribute__((format(printf,M,N))). */
650
801
# define printf __printf__
652
_GL_FUNCDECL_RPL_1 (__printf__, int,
653
(const char *format, ...)
654
__asm__ (@ASM_SYMBOL_PREFIX@
655
_GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
656
__attribute__ ((__format__ (__printf__, 1, 2)))
657
_GL_ARG_NONNULL ((1)));
803
# if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
804
_GL_FUNCDECL_RPL_1 (__printf__, int,
805
(const char *format, ...)
806
__asm__ (@ASM_SYMBOL_PREFIX@
807
_GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
808
_GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
809
_GL_ARG_NONNULL ((1)));
811
_GL_FUNCDECL_RPL_1 (__printf__, int,
812
(const char *format, ...)
813
__asm__ (@ASM_SYMBOL_PREFIX@
814
_GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
815
_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2)
816
_GL_ARG_NONNULL ((1)));
658
818
_GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...));
820
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
821
# define printf rpl_printf
660
823
_GL_FUNCDECL_RPL (printf, int,
661
824
(const char *format, ...)
662
__attribute__ ((__format__ (__printf__, 1, 2)))
825
_GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
663
826
_GL_ARG_NONNULL ((1)));
664
_GL_CXXALIAS_RPL (printf, printf, int, (const char *format, ...));
827
_GL_CXXALIAS_RPL (printf, int, (const char *format, ...));
666
829
# define GNULIB_overrides_printf 1
959
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
960
# if defined __GNUC__
961
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
963
/* Don't break __attribute__((format(scanf,M,N))). */
964
# define scanf __scanf__
966
_GL_FUNCDECL_RPL_1 (__scanf__, int,
967
(const char *format, ...)
968
__asm__ (@ASM_SYMBOL_PREFIX@
969
_GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf))
970
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
971
_GL_ARG_NONNULL ((1)));
972
_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...));
974
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
976
# define scanf rpl_scanf
978
_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...)
979
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
980
_GL_ARG_NONNULL ((1)));
981
_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...));
984
_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...));
986
_GL_CXXALIASWARN (scanf);
795
989
#if @GNULIB_SNPRINTF@
796
990
# if @REPLACE_SNPRINTF@
797
991
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
926
1120
# define vdprintf rpl_vdprintf
928
1122
_GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args)
929
__attribute__ ((__format__ (__printf__, 2, 0)))
1123
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
930
1124
_GL_ARG_NONNULL ((2)));
931
1125
_GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args));
933
1127
# if !@HAVE_VDPRINTF@
934
1128
_GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args)
935
__attribute__ ((__format__ (__printf__, 2, 0)))
1129
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
936
1130
_GL_ARG_NONNULL ((2)));
938
1132
/* Need to cast, because on Solaris, the third parameter will likely be
952
1146
#if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@
953
1147
# if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \
954
|| (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
1148
|| (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
955
1149
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
956
1150
# define vfprintf rpl_vfprintf
958
1152
# define GNULIB_overrides_vfprintf 1
959
_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
960
__attribute__ ((__format__ (__printf__, 2, 0)))
961
_GL_ARG_NONNULL ((1, 2)));
1153
# if @GNULIB_VFPRINTF_POSIX@
1154
_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
1155
_GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
1156
_GL_ARG_NONNULL ((1, 2)));
1158
_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
1159
_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0)
1160
_GL_ARG_NONNULL ((1, 2)));
962
1162
_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args));
964
1164
/* Need to cast, because on Solaris, the third parameter is
979
1179
"POSIX compliance");
1182
#if @GNULIB_VFSCANF@
1183
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
1184
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1186
# define vfscanf rpl_vfscanf
1188
_GL_FUNCDECL_RPL (vfscanf, int,
1189
(FILE *stream, const char *format, va_list args)
1190
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0)
1191
_GL_ARG_NONNULL ((1, 2)));
1192
_GL_CXXALIAS_RPL (vfscanf, int,
1193
(FILE *stream, const char *format, va_list args));
1195
_GL_CXXALIAS_SYS (vfscanf, int,
1196
(FILE *stream, const char *format, va_list args));
1198
_GL_CXXALIASWARN (vfscanf);
982
1201
#if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@
983
1202
# if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \
984
|| (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
1203
|| (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
985
1204
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
986
1205
# define vprintf rpl_vprintf
988
1207
# define GNULIB_overrides_vprintf 1
989
_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
990
__attribute__ ((__format__ (__printf__, 1, 0)))
991
_GL_ARG_NONNULL ((1)));
1208
# if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
1209
_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
1210
_GL_ATTRIBUTE_FORMAT_PRINTF (1, 0)
1211
_GL_ARG_NONNULL ((1)));
1213
_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
1214
_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0)
1215
_GL_ARG_NONNULL ((1)));
992
1217
_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args));
994
1219
/* Need to cast, because on Solaris, the second parameter is
1008
1233
"POSIX compliance");
1237
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
1238
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1240
# define vscanf rpl_vscanf
1242
_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args)
1243
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0)
1244
_GL_ARG_NONNULL ((1)));
1245
_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args));
1247
_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args));
1249
_GL_CXXALIASWARN (vscanf);
1011
1252
#if @GNULIB_VSNPRINTF@
1012
1253
# if @REPLACE_VSNPRINTF@
1013
1254
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)