OSDN Git Service

Patch from Bernhard Fischer:
authorEric Andersen <andersen@codepoet.org>
Fri, 15 Dec 2006 00:12:23 +0000 (00:12 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 15 Dec 2006 00:12:23 +0000 (00:12 -0000)
fix compilation if PUTC_MACRO and/or GETC_MACRO is turned off

include/stdio.h
libc/stdio/getchar.c
libc/stdio/gets.c

index 787a6aa..fd2a738 100644 (file)
@@ -840,7 +840,14 @@ extern void funlockfile (FILE *__stream) __THROW;
 #define fputc_unlocked(_ch, _fp)     __FPUTC_UNLOCKED(_ch, _fp)
 #endif
 
+#ifndef __STDIO_GETC_MACRO
+#define __stdin stdin
+#endif
 #define getchar()                    __GETC(__stdin)
+
+#ifndef __STDIO_PUTC_MACRO
+#define __stdout stdout
+#endif
 #define putchar(_ch)                 __PUTC((_ch), __stdout)
 
 #if defined __USE_POSIX || defined __USE_MISC
index 6da8307..a8c39f8 100644 (file)
@@ -12,7 +12,9 @@ libc_hidden_proto(__fgetc_unlocked)
 #undef getchar
 #ifdef __DO_UNLOCKED
 
+/* the only use of the hidden getchar_unlocked is in gets.c */
 #undef getchar_unlocked
+libc_hidden_proto(getchar_unlocked)
 int getchar_unlocked(void)
 {
        register FILE *stream = stdin;
index dc54133..85bb847 100644 (file)
@@ -11,11 +11,9 @@ link_warning(gets, "the 'gets' function is dangerous and should not be used.")
 
 /* UNSAFE FUNCTION -- do not bother optimizing */
 
+/* disable macro, force actual function call */
+#undef getchar_unlocked
 libc_hidden_proto(getchar_unlocked)
-libc_hidden_proto(__fgetc_unlocked)
-#ifndef __STDIO_GETC_MACRO
-#define __stdin stdin
-#endif
 
 char *gets(char *s)
 {