[git commit] libbb.h: tweak _unlocked hack

Denys Vlasenko vda.linux at googlemail.com
Thu Jun 30 00:44:27 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=0c4cf42c1e4fbb5af8952cfbec926fe7d7b318d5
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 include/libbb.h |   54 ++++++++++++++++++------------------------------------
 1 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/include/libbb.h b/include/libbb.h
index 963ae1e..efb925e 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -160,42 +160,24 @@ int sysinfo(struct sysinfo* info);
 #endif
 
 
-/* Busybox does not use threads, we can speed up stdio.
- * But don't define foo to foo_unlocked if foo_unlocked
- * is a macro (it might be defined back to foo!).
- */
-#ifndef getc_unlocked
-# undef  getc
-# define getc(stream) getc_unlocked(stream)
-#endif
-#ifndef getchar_unlocked
-# undef  getchar
-# define getchar() getchar_unlocked()
-#endif
-#ifndef putc_unlocked
-# undef  putc
-# define putc(c, stream) putc_unlocked(c, stream)
-#endif
-#ifndef putchar_unlocked
-# undef  putchar
-# define putchar(c) putchar_unlocked(c)
-#endif
-#ifndef fgetc_unlocked
-# undef  fgetc
-# define fgetc(stream) fgetc_unlocked(stream)
-#endif
-#ifndef fputc_unlocked
-# undef  fputc
-# define fputc(c, stream) fputc_unlocked(c, stream)
-#endif
-#ifndef fgets_unlocked
-# undef  fgets
-# define fgets(s, n, stream) fgets_unlocked(s, n, stream)
-#endif
-#ifndef fputs_unlocked
-# undef  fputs
-# define fputs(s, stream) fputs_unlocked(s, stream)
-#endif
+/* Busybox does not use threads, we can speed up stdio. */
+#undef  getc
+#define getc(stream) getc_unlocked(stream)
+#undef  getchar
+#define getchar() getchar_unlocked()
+#undef  putc
+#define putc(c, stream) putc_unlocked(c, stream)
+#undef  putchar
+#define putchar(c) putchar_unlocked(c)
+#undef  fgetc
+#define fgetc(stream) getc_unlocked(stream)
+#undef  fputc
+#define fputc(c, stream) putc_unlocked(c, stream)
+/* Above functions are required by POSIX.1-2008, below ones are extensions */
+#undef  fgets
+#define fgets(s, n, stream) fgets_unlocked(s, n, stream)
+#undef  fputs
+#define fputs(s, stream) fputs_unlocked(s, stream)
 
 
 /* Make all declarations hidden (-fvisibility flag only affects definitions) */
-- 
1.7.3.4



More information about the busybox-cvs mailing list