# HG changeset patch # User Bruno Haible # Date 1292801549 -3600 # Node ID 5a91216fb4c48ec0eca788caaa65043a4ae69dfb # Parent 6a6a78bd9425eabdfd545847482c799e9d63b1df 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. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-12-19 Bruno Haible + + 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 iconv_open: Fix regression from 2010-12-04. diff --git a/lib/stdio.in.h b/lib/stdio.in.h --- 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 + -> -> -> -> + -> -> -> . + 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