diff lib/stdio.in.h @ 15643:fe99cfdb102f

New module 'pclose'. * lib/stdio.in.h (pclose): New declaration. * lib/pclose.c: New file. * m4/pclose.m4: New file. * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared. (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE. * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE. * modules/pclose: New file. * modules/popen-tests (Depends-on): Add pclose. * modules/popen-safer-tests (Depends-on): Likewise. * doc/posix-functions/pclose.texi: Mention the new module.
author Bruno Haible <bruno@clisp.org>
date Sun, 18 Sep 2011 00:58:06 +0200 (2011-09-17)
parents 5f0f5820c414
children 7adcf631d56b
line wrap: on
line diff
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -750,6 +750,20 @@
 _GL_CXXALIASWARN (obstack_vprintf);
 #endif
 
+#if @GNULIB_PCLOSE@
+# if !@HAVE_PCLOSE@
+_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
+_GL_CXXALIASWARN (pclose);
+#elif defined GNULIB_POSIXCHECK
+# undef pclose
+# if HAVE_RAW_DECL_PCLOSE
+_GL_WARN_ON_USE (pclose, "popen is unportable - "
+                 "use gnulib module pclose for more portability");
+# endif
+#endif
+
 #if @GNULIB_PERROR@
 /* Print a message to standard error, describing the value of ERRNO,
    (if STRING is not NULL and not empty) prefixed with STRING and ": ",