From: "Vladimir N. Oleynik" Date: Mon, 20 Feb 2006 12:15:10 +0000 (-0000) Subject: remove #undef strlen, use #define strlen always but without xfunc/BB_STRLEN_IMPLEMENT... X-Git-Tag: 1_1_0~189 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0c6ff43a0cfa48e196954010787f5335f1a17ad7;p=oweals%2Fbusybox.git remove #undef strlen, use #define strlen always but without xfunc/BB_STRLEN_IMPLEMENTATION --- diff --git a/include/libbb.h b/include/libbb.h index 8ec1a24c0..9f0c85b03 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -387,7 +387,9 @@ void reset_ino_dev_hashtable(void); /* Stupid gcc always includes its own builtin strlen()... */ extern size_t bb_strlen(const char *string); +#ifndef BB_STRLEN_IMPLEMENTATION #define strlen(x) bb_strlen(x) +#endif char *bb_xasprintf(const char *format, ...) __attribute__ ((format (printf, 1, 2))); diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index 69eaf79e0..6d54c1a79 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -14,6 +14,13 @@ #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" @@ -167,9 +174,6 @@ extern void bb_xfflush_stdout(void) #endif #ifdef L_strlen -/* 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 */ -#undef strlen size_t bb_strlen(const char *string) { return(strlen(string));