summaryrefslogtreecommitdiffstats
path: root/gl/stdio.in.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/stdio.in.h')
-rw-r--r--gl/stdio.in.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/gl/stdio.in.h b/gl/stdio.in.h
index 434fa8e..96cb257 100644
--- a/gl/stdio.in.h
+++ b/gl/stdio.in.h
@@ -16,6 +16,10 @@
16 along with this program; if not, write to the Free Software Foundation, 16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
18 18
19#if __GNUC__ >= 3
20@PRAGMA_SYSTEM_HEADER@
21#endif
22
19#if defined __need_FILE || defined __need___FILE 23#if defined __need_FILE || defined __need___FILE
20/* Special invocation convention inside glibc header files. */ 24/* Special invocation convention inside glibc header files. */
21 25
@@ -71,6 +75,10 @@ extern "C" {
71extern int fprintf (FILE *fp, const char *format, ...) 75extern int fprintf (FILE *fp, const char *format, ...)
72 __attribute__ ((__format__ (__printf__, 2, 3))); 76 __attribute__ ((__format__ (__printf__, 2, 3)));
73# endif 77# endif
78#elif @GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
79# define fprintf rpl_fprintf
80extern int fprintf (FILE *fp, const char *format, ...)
81 __attribute__ ((__format__ (__printf__, 2, 3)));
74#elif defined GNULIB_POSIXCHECK 82#elif defined GNULIB_POSIXCHECK
75# undef fprintf 83# undef fprintf
76# define fprintf \ 84# define fprintf \
@@ -86,6 +94,10 @@ extern int fprintf (FILE *fp, const char *format, ...)
86extern int vfprintf (FILE *fp, const char *format, va_list args) 94extern int vfprintf (FILE *fp, const char *format, va_list args)
87 __attribute__ ((__format__ (__printf__, 2, 0))); 95 __attribute__ ((__format__ (__printf__, 2, 0)));
88# endif 96# endif
97#elif @GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
98# define vfprintf rpl_vfprintf
99extern int vfprintf (FILE *fp, const char *format, va_list args)
100 __attribute__ ((__format__ (__printf__, 2, 0)));
89#elif defined GNULIB_POSIXCHECK 101#elif defined GNULIB_POSIXCHECK
90# undef vfprintf 102# undef vfprintf
91# define vfprintf(s,f,a) \ 103# define vfprintf(s,f,a) \
@@ -102,6 +114,11 @@ extern int vfprintf (FILE *fp, const char *format, va_list args)
102extern int printf (const char *format, ...) 114extern int printf (const char *format, ...)
103 __attribute__ ((__format__ (__printf__, 1, 2))); 115 __attribute__ ((__format__ (__printf__, 1, 2)));
104# endif 116# endif
117#elif @GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
118/* Don't break __attribute__((format(printf,M,N))). */
119# define printf __printf__
120extern int printf (const char *format, ...)
121 __attribute__ ((__format__ (__printf__, 1, 2)));
105#elif defined GNULIB_POSIXCHECK 122#elif defined GNULIB_POSIXCHECK
106# undef printf 123# undef printf
107# define printf \ 124# define printf \
@@ -124,6 +141,10 @@ extern int printf (const char *format, ...)
124extern int vprintf (const char *format, va_list args) 141extern int vprintf (const char *format, va_list args)
125 __attribute__ ((__format__ (__printf__, 1, 0))); 142 __attribute__ ((__format__ (__printf__, 1, 0)));
126# endif 143# endif
144#elif @GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
145# define vprintf rpl_vprintf
146extern int vprintf (const char *format, va_list args)
147 __attribute__ ((__format__ (__printf__, 1, 0)));
127#elif defined GNULIB_POSIXCHECK 148#elif defined GNULIB_POSIXCHECK
128# undef vprintf 149# undef vprintf
129# define vprintf(f,a) \ 150# define vprintf(f,a) \
@@ -212,8 +233,29 @@ extern int vsprintf (char *str, const char *format, va_list args)
212# endif 233# endif
213#endif 234#endif
214 235
236#if @GNULIB_OBSTACK_PRINTF@
237# if @REPLACE_OBSTACK_PRINTF@
238# define obstack_printf rpl_osbtack_printf
239# define obstack_vprintf rpl_obstack_vprintf
240# endif
241# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@
242 struct obstack;
243 /* Grow an obstack with formatted output. Return the number of
244 bytes added to OBS. No trailing nul byte is added, and the
245 object should be closed with obstack_finish before use. Upon
246 memory allocation error, call obstack_alloc_failed_handler. Upon
247 other error, return -1. */
248 extern int obstack_printf (struct obstack *obs, const char *format, ...)
249 __attribute__ ((__format__ (__printf__, 2, 3)));
250 extern int obstack_vprintf (struct obstack *obs, const char *format,
251 va_list args)
252 __attribute__ ((__format__ (__printf__, 2, 0)));
253# endif
254#endif
255
215#if @GNULIB_FOPEN@ 256#if @GNULIB_FOPEN@
216# if @REPLACE_FOPEN@ 257# if @REPLACE_FOPEN@
258# undef fopen
217# define fopen rpl_fopen 259# define fopen rpl_fopen
218extern FILE * fopen (const char *filename, const char *mode); 260extern FILE * fopen (const char *filename, const char *mode);
219# endif 261# endif
@@ -227,6 +269,7 @@ extern FILE * fopen (const char *filename, const char *mode);
227 269
228#if @GNULIB_FREOPEN@ 270#if @GNULIB_FREOPEN@
229# if @REPLACE_FREOPEN@ 271# if @REPLACE_FREOPEN@
272# undef freopen
230# define freopen rpl_freopen 273# define freopen rpl_freopen
231extern FILE * freopen (const char *filename, const char *mode, FILE *stream); 274extern FILE * freopen (const char *filename, const char *mode, FILE *stream);
232# endif 275# endif
@@ -332,6 +375,57 @@ extern long rpl_ftell (FILE *fp);
332 fflush (f)) 375 fflush (f))
333#endif 376#endif
334 377
378#if @GNULIB_FCLOSE@
379# if @REPLACE_FCLOSE@
380# define fclose rpl_fclose
381 /* Close STREAM and its underlying file descriptor. */
382extern int fclose (FILE *stream);
383# endif
384#elif defined GNULIB_POSIXCHECK
385# undef fclose
386# define fclose(f) \
387 (GL_LINK_WARNING ("fclose is not always POSIX compliant - " \
388 "use gnulib module fclose for portable " \
389 "POSIX compliance"), \
390 fclose (f))
391#endif
392
393#if @GNULIB_FPUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
394# undef fputc
395# define fputc rpl_fputc
396extern int fputc (int c, FILE *stream);
397#endif
398
399#if @GNULIB_PUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
400# undef putc
401# define putc rpl_fputc
402extern int putc (int c, FILE *stream);
403#endif
404
405#if @GNULIB_PUTCHAR@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
406# undef putchar
407# define putchar rpl_putchar
408extern int putchar (int c);
409#endif
410
411#if @GNULIB_FPUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
412# undef fputs
413# define fputs rpl_fputs
414extern int fputs (const char *string, FILE *stream);
415#endif
416
417#if @GNULIB_PUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
418# undef puts
419# define puts rpl_puts
420extern int puts (const char *string);
421#endif
422
423#if @GNULIB_FWRITE@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
424# undef fwrite
425# define fwrite rpl_fwrite
426extern size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream);
427#endif
428
335#if @GNULIB_GETDELIM@ 429#if @GNULIB_GETDELIM@
336# if !@HAVE_DECL_GETDELIM@ 430# if !@HAVE_DECL_GETDELIM@
337/* Read input, up to (and including) the next occurrence of DELIMITER, from 431/* Read input, up to (and including) the next occurrence of DELIMITER, from
@@ -373,6 +467,22 @@ extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream);
373 getline (l, s, f)) 467 getline (l, s, f))
374#endif 468#endif
375 469
470#if @GNULIB_PERROR@
471# if @REPLACE_PERROR@
472# define perror rpl_perror
473/* Print a message to standard error, describing the value of ERRNO,
474 (if STRING is not NULL and not empty) prefixed with STRING and ": ",
475 and terminated with a newline. */
476extern void perror (const char *string);
477# endif
478#elif defined GNULIB_POSIXCHECK
479# undef perror
480# define perror(s) \
481 (GL_LINK_WARNING ("perror is not always POSIX compliant - " \
482 "use gnulib module perror for portability"), \
483 perror (s))
484#endif
485
376#ifdef __cplusplus 486#ifdef __cplusplus
377} 487}
378#endif 488#endif