Mercurial > hg > octave-lojdl > gnulib-hg
changeset 13954:5a91216fb4c4
stdio: Fix problem with popen() declaration on OSF/1 5.1.
* lib/stdio.in.h: During the include_next statement, let recursive
includes of this file include only the system header file.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 20 Dec 2010 00:32:29 +0100 |
parents | 6a6a78bd9425 |
children | 7f79090fda41 |
files | ChangeLog lib/stdio.in.h |
diffstat | 2 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-12-19 Bruno Haible <bruno@clisp.org> + + stdio: Fix problem with popen() declaration on OSF/1 5.1. + * lib/stdio.in.h: During the include_next statement, let recursive + includes of this file include only the system header file. + 2010-12-19 Bruno Haible <bruno@clisp.org> iconv_open: Fix regression from 2010-12-04.
--- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -21,8 +21,14 @@ #endif @PRAGMA_COLUMNS@ -#if defined __need_FILE || defined __need___FILE -/* Special invocation convention inside glibc header files. */ +#if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H +/* Special invocation convention: + - Inside glibc header files. + - On OSF/1 5.1 we have a sequence of nested includes + <stdio.h> -> <getopt.h> -> <ctype.h> -> <sys/localedef.h> -> + <sys/lc_core.h> -> <nl_types.h> -> <mesg.h> -> <stdio.h>. + In this situation, the functions are not yet declared, therefore we cannot + provide the C++ aliases. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ @@ -31,9 +37,13 @@ #ifndef _GL_STDIO_H +#define _GL_ALREADY_INCLUDING_STDIO_H + /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ +#undef _GL_ALREADY_INCLUDING_STDIO_H + #ifndef _GL_STDIO_H #define _GL_STDIO_H