From 97620a36d173883343ad51438f04711eff04981d Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 25 Jul 2008 10:25:40 +0000 Subject: [PATCH] Fix builtin implementations. [r20685] --- builtins/builtins.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/builtins/builtins.c b/builtins/builtins.c index f229513..9b20ce9 100644 --- a/builtins/builtins.c +++ b/builtins/builtins.c @@ -1,9 +1,9 @@ static inline char *strchr(const char *s, int c) { - for ( ; *s != 0; ++s) { + do { if (*s == c) return (char*) s; - } + } while (*s++ != '\0'); return (char*) 0; } @@ -11,10 +11,10 @@ static inline char *strrchr(const char *s, int c) { const char *result = (const char*) 0; - for ( ; *s != 0; ++s) { + do { if (*s == c) result = s; - } + } while (*s++ != '\0'); return (char*) result; } @@ -24,7 +24,7 @@ static inline int strcmp(const char *s1, const char *s2) if(*s1 != *s2) break; } - return *s1 - *s2; + return (unsigned char)*s1 - (unsigned char)*s2; } static inline __SIZE_TYPE__ strlen(const char *s) @@ -38,8 +38,6 @@ static inline __SIZE_TYPE__ strlen(const char *s) static inline char *strcpy(char *dest, const char *source) { char *d = dest; - for ( ; *source != 0; ++d, ++source) { - *d = *source; - } + while ((*d++ = *source++) != '\0') {} return dest; } -- 2.20.1