From fad2b86c9e7eaadb973b50a1bc0e2accc1a96cfd Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Thu, 31 May 2007 22:16:38 +0000 Subject: use "glibc errno" trick not only for ash, but for entire busybox (add/remove: 1/1 grow/shrink: 37/37 up/down: 139/-228) Total: -89 bytes --- include/libbb.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/libbb.h b/include/libbb.h index 5e0b438be..385b30f16 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -165,6 +165,14 @@ #endif +#if defined(__GLIBC__) +/* glibc uses __errno_location() to get a ptr to errno */ +/* We can just memorize it once - no multithreading in busybox :) */ +extern int *const bb_errno; +#undef errno +#define errno (*bb_errno) +#endif + #if defined(__GLIBC__) && __GLIBC__ < 2 int vdprintf(int d, const char *format, va_list ap); #endif -- cgit v1.2.3