From a48c3c183145ca72126cbbe6906166f3700d8816 Mon Sep 17 00:00:00 2001 From: landley Date: Thu, 4 May 2006 21:22:27 +0000 Subject: Not quite compiler independent, but we've never tried to be gcc independent anyway. This is at least less ugly than what was there before, and fixes building all sources at once. git-svn-id: svn://busybox.net/trunk/busybox@15000 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- libbb/xfuncs.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'libbb') diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index 3db526b85..f1f988f80 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -14,15 +14,7 @@ #include #include #include - -/* Since gcc always inlines strlen(), this saves a byte or two, but we need - * the #undef here to avoid endless loop from #define strlen bb_strlen */ -#ifdef L_strlen -#define BB_STRLEN_IMPLEMENTATION -#endif - -#include "libbb.h" - +#include "busybox.h" #ifndef DMALLOC #ifdef L_xmalloc @@ -182,10 +174,12 @@ void bb_xfflush_stdout(void) } #endif +// GCC forces inlining of strlen everywhere, which is generally a byte +// larger than calling a function, and it's called a lot so it adds up. #ifdef L_strlen size_t bb_strlen(const char *string) { - return(strlen(string)); + return(__builtin_strlen(string)); } #endif -- cgit v1.2.3-55-g6feb