about summary refs log tree commit diff
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