summaryrefslogtreecommitdiff
path: root/libio/stdio.h
diff options
context:
space:
mode:
Diffstat (limited to 'libio/stdio.h')
-rw-r--r--libio/stdio.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/libio/stdio.h b/libio/stdio.h
index ccab90bc2e..4fcc3b309d 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -17,12 +17,12 @@
Boston, MA 02111-1307, USA. */
/*
- * ISO C Standard: 4.9 INPUT/OUTPUT <stdio.h>
+ * ISO C99 Standard: 7.19 Input/output <stdio.h>
*/
#ifndef _STDIO_H
-#ifndef __need_FILE
+#if !defined __need_FILE && !defined __need___FILE
# define _STDIO_H 1
# include <features.h>
@@ -38,17 +38,29 @@ __BEGIN_DECLS
# include <stdarg.h>
# include <bits/types.h>
+# define __need_FILE
+# define __need___FILE
#endif /* Don't need FILE. */
-#undef __need_FILE
-#ifndef __FILE_defined
+#if !defined __FILE_defined && defined __need_FILE
-/* The opaque type of streams. */
+/* The opaque type of streams. This is the definition used elsewhere. */
typedef struct _IO_FILE FILE;
# define __FILE_defined 1
#endif /* FILE not defined. */
+#undef __need_FILE
+
+
+#if !defined ____FILE_defined && defined __need___FILE
+
+/* The opaque type of streams. This is the definition used elsewhere. */
+typedef struct _IO_FILE __FILE;
+
+# define ____FILE_defined 1
+#endif /* __FILE not defined. */
+#undef __need___FILE
#ifdef _STDIO_H