20 #pragma GCC system_header
24 #if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H
33 #include_next <stdio.h>
40 #define _GL_ALREADY_INCLUDING_STDIO_H
43 #include_next <stdio.h>
45 #undef _GL_ALREADY_INCLUDING_STDIO_H
51 #ifndef _GL_STDIO_INLINE
52 # define _GL_STDIO_INLINE _GL_INLINE
71 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
72 # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
74 # define _GL_ATTRIBUTE_FORMAT(spec)
81 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
82 # define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
83 _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
85 # define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
86 _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
93 #define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
94 _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
100 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
101 # define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
102 _GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument))
104 # define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
105 _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
112 #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
113 _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
117 #if (0 || defined GNULIB_POSIXCHECK) && defined __sun \
118 && ! defined __GLIBC__
124 #ifndef _GL_CXXDEFS_H
125 #define _GL_CXXDEFS_H
188 #if defined __cplusplus
189 # define _GL_EXTERN_C extern "C"
191 # define _GL_EXTERN_C extern
201 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
202 _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
203 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
204 _GL_EXTERN_C rettype rpl_func parameters_and_attributes
213 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
214 _GL_EXTERN_C rettype func parameters_and_attributes
222 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
223 _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
224 #if defined __cplusplus && defined GNULIB_NAMESPACE
225 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
226 namespace GNULIB_NAMESPACE \
228 rettype (*const func) parameters = ::rpl_func; \
230 _GL_EXTERN_C int _gl_cxxalias_dummy
232 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
233 _GL_EXTERN_C int _gl_cxxalias_dummy
241 #if defined __cplusplus && defined GNULIB_NAMESPACE
242 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
243 namespace GNULIB_NAMESPACE \
245 rettype (*const func) parameters = \
246 reinterpret_cast<rettype(*)parameters>(::rpl_func); \
248 _GL_EXTERN_C int _gl_cxxalias_dummy
250 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
251 _GL_EXTERN_C int _gl_cxxalias_dummy
261 #if defined __cplusplus && defined GNULIB_NAMESPACE
268 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
269 namespace GNULIB_NAMESPACE \
271 static rettype (*func) parameters = ::func; \
273 _GL_EXTERN_C int _gl_cxxalias_dummy
275 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
276 _GL_EXTERN_C int _gl_cxxalias_dummy
284 #if defined __cplusplus && defined GNULIB_NAMESPACE
285 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
286 namespace GNULIB_NAMESPACE \
288 static rettype (*func) parameters = \
289 reinterpret_cast<rettype(*)parameters>(::func); \
291 _GL_EXTERN_C int _gl_cxxalias_dummy
293 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
294 _GL_EXTERN_C int _gl_cxxalias_dummy
303 #if defined __cplusplus && defined GNULIB_NAMESPACE
309 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
310 namespace GNULIB_NAMESPACE \
312 static rettype (*func) parameters = \
313 reinterpret_cast<rettype(*)parameters>( \
314 (rettype2(*)parameters2)(::func)); \
316 _GL_EXTERN_C int _gl_cxxalias_dummy
318 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
319 _GL_EXTERN_C int _gl_cxxalias_dummy
326 #if defined __cplusplus && defined GNULIB_NAMESPACE
327 # define _GL_CXXALIASWARN(func) \
328 _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
329 # define _GL_CXXALIASWARN_1(func,namespace) \
330 _GL_CXXALIASWARN_2 (func, namespace)
334 # define _GL_CXXALIASWARN_2(func,namespace) \
335 _GL_WARN_ON_USE (func, \
336 "The symbol ::" #func " refers to the system function. " \
337 "Use " #namespace "::" #func " instead.")
338 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
339 # define _GL_CXXALIASWARN_2(func,namespace) \
340 extern __typeof__ (func) func
342 # define _GL_CXXALIASWARN_2(func,namespace) \
343 _GL_EXTERN_C int _gl_cxxalias_dummy
346 # define _GL_CXXALIASWARN(func) \
347 _GL_EXTERN_C int _gl_cxxalias_dummy
353 #if defined __cplusplus && defined GNULIB_NAMESPACE
354 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
355 _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
357 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
358 _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
362 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
363 _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
364 "The symbol ::" #func " refers to the system function. " \
365 "Use " #namespace "::" #func " instead.")
366 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
367 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
368 extern __typeof__ (func) func
370 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
371 _GL_EXTERN_C int _gl_cxxalias_dummy
374 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
375 _GL_EXTERN_C int _gl_cxxalias_dummy
384 #ifndef _GL_ARG_NONNULL
385 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
386 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
388 # define _GL_ARG_NONNULL(params)
393 #ifndef _GL_WARN_ON_USE
395 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
397 # define _GL_WARN_ON_USE(function, message) \
398 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
399 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
401 # define _GL_WARN_ON_USE(function, message) \
402 extern __typeof__ (function) function
404 # define _GL_WARN_ON_USE(function, message) \
405 _GL_WARN_EXTERN_C int _gl_warn_on_use
415 #ifndef _GL_WARN_ON_USE_CXX
416 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
417 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
418 extern rettype function parameters_and_attributes \
419 __attribute__ ((__warning__ (msg)))
420 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
422 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
423 extern rettype function parameters_and_attributes
425 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
426 _GL_WARN_EXTERN_C int _gl_warn_on_use
432 #ifndef _GL_WARN_EXTERN_C
433 # if defined __cplusplus
434 # define _GL_WARN_EXTERN_C extern "C"
436 # define _GL_WARN_EXTERN_C extern
441 #define _GL_STDIO_STRINGIZE(token) #token
442 #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
447 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
448 # define dprintf rpl_dprintf
463 #elif defined GNULIB_POSIXCHECK
465 # if HAVE_RAW_DECL_DPRINTF
467 "use gnulib module dprintf for portability");
474 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
475 # define fclose rpl_fclose
483 #elif defined GNULIB_POSIXCHECK
487 "use gnulib module fclose for portable POSIX compliance");
492 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
494 # define fdopen rpl_fdopen
503 #elif defined GNULIB_POSIXCHECK
506 _GL_WARN_ON_USE (fdopen,
"fdopen on native Windows platforms is not POSIX compliant - "
507 "use gnulib module fdopen for portability");
518 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
519 # define fflush rpl_fflush
527 #elif defined GNULIB_POSIXCHECK
531 "use gnulib module fflush for portable POSIX compliance");
536 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
538 # define fgetc rpl_fgetc
550 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
552 # define fgets rpl_fgets
565 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
567 # define fopen rpl_fopen
576 #elif defined GNULIB_POSIXCHECK
579 _GL_WARN_ON_USE (fopen,
"fopen on native Windows platforms is not POSIX compliant - "
580 "use gnulib module fopen for portability");
585 || (1 && 0 && (0 || 0))
586 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
587 # define fprintf rpl_fprintf
589 # define GNULIB_overrides_fprintf 1
605 #if !0 && defined GNULIB_POSIXCHECK
606 # if !GNULIB_overrides_fprintf
611 "use gnulib module fprintf-posix for portable "
623 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
624 # define fpurge rpl_fpurge
635 #elif defined GNULIB_POSIXCHECK
637 # if HAVE_RAW_DECL_FPURGE
639 "use gnulib module fpurge for portability");
645 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
647 # define fputc rpl_fputc
659 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
661 # define fputs rpl_fputs
674 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
676 # define fread rpl_fread
678 _GL_FUNCDECL_RPL (fread,
size_t, (
void *ptr,
size_t s,
size_t n, FILE *stream)
680 _GL_CXXALIAS_RPL (fread,
size_t, (
void *ptr,
size_t s,
size_t n, FILE *stream));
682 _GL_CXXALIAS_SYS (fread,
size_t, (
void *ptr,
size_t s,
size_t n, FILE *stream));
689 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
691 # define freopen rpl_freopen
694 (
const char *filename,
const char *mode, FILE *stream)
697 (
const char *filename,
const char *mode, FILE *stream));
700 (
const char *filename,
const char *mode, FILE *stream));
703 #elif defined GNULIB_POSIXCHECK
707 "freopen on native Windows platforms is not POSIX compliant - "
708 "use gnulib module freopen for portability");
713 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
715 # define fscanf rpl_fscanf
760 # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
761 # define _GL_FSEEK_WARN
765 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
767 # define fseek rpl_fseek
779 # if !0 && !defined _GL_NO_LARGE_FILES
780 # define _GL_FSEEK_WARN
786 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
788 # define fseeko rpl_fseeko
801 #elif defined GNULIB_POSIXCHECK
802 # define _GL_FSEEK_WARN
805 # if HAVE_RAW_DECL_FSEEKO
807 "use gnulib module fseeko for portability");
811 #ifdef _GL_FSEEK_WARN
812 # undef _GL_FSEEK_WARN
816 "on 32-bit platforms - "
817 "use fseeko function for handling of large files");
824 # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
825 # define _GL_FTELL_WARN
829 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
831 # define ftell rpl_ftell
842 # if !0 && !defined _GL_NO_LARGE_FILES
843 # define _GL_FTELL_WARN
847 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
849 # define ftello rpl_ftello
860 #elif defined GNULIB_POSIXCHECK
861 # define _GL_FTELL_WARN
864 # if HAVE_RAW_DECL_FTELLO
866 "use gnulib module ftello for portability");
870 #ifdef _GL_FTELL_WARN
871 # undef _GL_FTELL_WARN
875 "on 32-bit platforms - "
876 "use ftello function for handling of large files");
882 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
884 # define fwrite rpl_fwrite
887 (
const void *ptr,
size_t s,
size_t n, FILE *stream)
890 (
const void *ptr,
size_t s,
size_t n, FILE *stream));
893 (
const void *ptr,
size_t s,
size_t n, FILE *stream));
900 # if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
902 rpl_fwrite (const
void *ptr,
size_t s,
size_t n, FILE *stream)
904 size_t r = fwrite (ptr, s, n, stream);
909 # define fwrite rpl_fwrite
917 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
919 # define getc rpl_fgetc
931 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
933 # define getchar rpl_getchar
951 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
953 # define getdelim rpl_getdelim
956 (
char **lineptr,
size_t *linesize,
int delimiter,
960 (
char **lineptr,
size_t *linesize,
int delimiter,
965 (
char **lineptr,
size_t *linesize,
int delimiter,
970 (
char **lineptr,
size_t *linesize,
int delimiter,
974 #elif defined GNULIB_POSIXCHECK
976 # if HAVE_RAW_DECL_GETDELIM
978 "use gnulib module getdelim for portability");
990 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
992 # define getline rpl_getline
995 (
char **lineptr,
size_t *linesize, FILE *stream)
998 (
char **lineptr,
size_t *linesize, FILE *stream));
1002 (
char **lineptr,
size_t *linesize, FILE *stream)
1006 (
char **lineptr,
size_t *linesize, FILE *stream));
1011 #elif defined GNULIB_POSIXCHECK
1013 # if HAVE_RAW_DECL_GETLINE
1015 "use gnulib module getline for portability");
1023 #if HAVE_RAW_DECL_GETS
1024 _GL_WARN_ON_USE (gets,
"gets is a security hole - use fgets instead");
1036 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1037 # define obstack_printf rpl_obstack_printf
1040 (
struct obstack *obs,
const char *format, ...)
1044 (
struct obstack *obs,
const char *format, ...));
1048 (
struct obstack *obs,
const char *format, ...)
1053 (
struct obstack *obs,
const char *format, ...));
1057 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1058 # define obstack_vprintf rpl_obstack_vprintf
1061 (
struct obstack *obs,
const char *format, va_list args)
1065 (
struct obstack *obs,
const char *format, va_list args));
1069 (
struct obstack *obs,
const char *format, va_list args)
1074 (
struct obstack *obs,
const char *format, va_list args));
1085 #elif defined GNULIB_POSIXCHECK
1087 # if HAVE_RAW_DECL_PCLOSE
1089 "use gnulib module pclose for more portability");
1098 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1099 # define perror rpl_perror
1107 #elif defined GNULIB_POSIXCHECK
1111 "use gnulib module perror for portability");
1116 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1118 # define popen rpl_popen
1131 #elif defined GNULIB_POSIXCHECK
1133 # if HAVE_RAW_DECL_POPEN
1135 "use gnulib module popen or pipe for more portability");
1141 || (1 && 0 && (0 || 0))
1142 # if defined __GNUC__
1143 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1145 # define printf __printf__
1149 (
const char *format, ...)
1156 (
const char *format, ...)
1164 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1165 # define printf rpl_printf
1168 (
const char *format, ...)
1173 # define GNULIB_overrides_printf 1
1179 #if !0 && defined GNULIB_POSIXCHECK
1180 # if !GNULIB_overrides_printf
1185 "use gnulib module printf-posix for portable "
1186 "POSIX compliance");
1191 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1193 # define putc rpl_fputc
1205 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1207 # define putchar rpl_putchar
1219 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1221 # define puts rpl_puts
1233 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1235 # define remove rpl_remove
1243 #elif defined GNULIB_POSIXCHECK
1246 _GL_WARN_ON_USE (
remove,
"remove cannot handle directories on some platforms - "
1247 "use gnulib module remove for more portability");
1252 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1254 # define rename rpl_rename
1257 (
const char *old_filename,
const char *new_filename)
1260 (
const char *old_filename,
const char *new_filename));
1263 (
const char *old_filename,
const char *new_filename));
1266 #elif defined GNULIB_POSIXCHECK
1270 "use gnulib module rename for more portability");
1275 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1277 # define renameat rpl_renameat
1280 (
int fd1,
char const *file1,
int fd2,
char const *file2)
1283 (
int fd1,
char const *file1,
int fd2,
char const *file2));
1287 (
int fd1,
char const *file1,
int fd2,
char const *file2)
1291 (
int fd1,
char const *file1,
int fd2,
char const *file2));
1294 #elif defined GNULIB_POSIXCHECK
1296 # if HAVE_RAW_DECL_RENAMEAT
1298 "use gnulib module renameat for portability");
1304 # if defined __GNUC__
1305 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1308 # define scanf __scanf__
1311 (
const char *format, ...)
1318 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1320 # define scanf rpl_scanf
1335 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1336 # define snprintf rpl_snprintf
1339 (
char *str,
size_t size,
const char *format, ...)
1343 (
char *str,
size_t size,
const char *format, ...));
1347 (
char *str,
size_t size,
const char *format, ...)
1352 (
char *str,
size_t size,
const char *format, ...));
1355 #elif defined GNULIB_POSIXCHECK
1357 # if HAVE_RAW_DECL_SNPRINTF
1359 "use gnulib module snprintf for portability");
1374 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1375 # define sprintf rpl_sprintf
1385 #elif defined GNULIB_POSIXCHECK
1389 "use gnulib module sprintf-posix for portable "
1390 "POSIX compliance");
1395 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1396 # define tmpfile rpl_tmpfile
1404 #elif defined GNULIB_POSIXCHECK
1406 # if HAVE_RAW_DECL_TMPFILE
1408 "use gnulib module tmpfile for portability");
1418 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1419 # define asprintf rpl_asprintf
1422 (
char **result,
const char *format, ...)
1426 (
char **result,
const char *format, ...));
1430 (
char **result,
const char *format, ...)
1435 (
char **result,
const char *format, ...));
1439 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1440 # define vasprintf rpl_vasprintf
1443 (
char **result,
const char *format, va_list args)
1447 (
char **result,
const char *format, va_list args));
1451 (
char **result,
const char *format, va_list args)
1456 (
char **result,
const char *format, va_list args));
1463 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1464 # define vdprintf rpl_vdprintf
1466 _GL_FUNCDECL_RPL (vdprintf,
int, (
int fd,
const char *format, va_list args)
1469 _GL_CXXALIAS_RPL (vdprintf,
int, (
int fd,
const char *format, va_list args));
1472 _GL_FUNCDECL_SYS (vdprintf,
int, (
int fd,
const char *format, va_list args)
1479 (
int fd,
const char *format, va_list args));
1482 #elif defined GNULIB_POSIXCHECK
1484 # if HAVE_RAW_DECL_VDPRINTF
1486 "use gnulib module vdprintf for portability");
1492 || (1 && 0 && (0 || 0))
1493 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1494 # define vfprintf rpl_vfprintf
1496 # define GNULIB_overrides_vfprintf 1
1498 _GL_FUNCDECL_RPL (vfprintf,
int, (FILE *fp,
const char *format, va_list args)
1502 _GL_FUNCDECL_RPL (vfprintf,
int, (FILE *fp,
const char *format, va_list args)
1506 _GL_CXXALIAS_RPL (vfprintf,
int, (FILE *fp,
const char *format, va_list args));
1512 (FILE *fp,
const char *format, va_list args));
1516 #if !0 && defined GNULIB_POSIXCHECK
1517 # if !GNULIB_overrides_vfprintf
1521 _GL_WARN_ON_USE (vfprintf,
"vfprintf is not always POSIX compliant - "
1522 "use gnulib module vfprintf-posix for portable "
1523 "POSIX compliance");
1528 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1530 # define vfscanf rpl_vfscanf
1533 (FILE *stream,
const char *format, va_list args)
1537 (FILE *stream,
const char *format, va_list args));
1540 (FILE *stream,
const char *format, va_list args));
1547 || (1 && 0 && (0 || 0))
1548 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1549 # define vprintf rpl_vprintf
1551 # define GNULIB_overrides_vprintf 1
1570 #if !0 && defined GNULIB_POSIXCHECK
1571 # if !GNULIB_overrides_vprintf
1576 "use gnulib module vprintf-posix for portable "
1577 "POSIX compliance");
1582 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1584 # define vscanf rpl_vscanf
1598 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1599 # define vsnprintf rpl_vsnprintf
1602 (
char *str,
size_t size,
const char *format, va_list args)
1606 (
char *str,
size_t size,
const char *format, va_list args));
1610 (
char *str,
size_t size,
const char *format, va_list args)
1615 (
char *str,
size_t size,
const char *format, va_list args));
1618 #elif defined GNULIB_POSIXCHECK
1620 # if HAVE_RAW_DECL_VSNPRINTF
1622 "use gnulib module vsnprintf for portability");
1628 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1629 # define vsprintf rpl_vsprintf
1632 (
char *str,
const char *format, va_list args)
1636 (
char *str,
const char *format, va_list args));
1642 (
char *str,
const char *format, va_list args));
1645 #elif defined GNULIB_POSIXCHECK
1648 _GL_WARN_ON_USE (vsprintf,
"vsprintf is not always POSIX compliant - "
1649 "use gnulib module vsprintf-posix for portable "
1650 "POSIX compliance");
#define _GL_ARG_NONNULL(params)
#define _GL_CXXALIAS_RPL(func, rettype, parameters)
#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument)
#define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument)
void perror(const char *)
int vasprintf(char **strp, const char *fmt, va_list ap)
#define _GL_CXXALIAS_SYS_CAST(func, rettype, parameters)
#define _GL_CXXALIAS_SYS(func, rettype, parameters)
#define _GL_CXXALIASWARN(func)
#define _GL_WARN_ON_USE(function, message)
int vsnprintf(char *str, size_t size, const char *format, va_list ap)
#define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument)
#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token)
#define _GL_FUNCDECL_RPL(func, rettype, parameters_and_attributes)
#define _GL_INLINE_HEADER_END
#define _GL_INLINE_HEADER_BEGIN
#define _GL_FUNCDECL_SYS(func, rettype, parameters_and_attributes)
#define _GL_CXXALIAS_RPL_1(func, rpl_func, rettype, parameters)
#define _GL_FUNCDECL_RPL_1(rpl_func, rettype, parameters_and_attributes)