diff options
Diffstat (limited to 'libc/string/memrchr.c')
-rw-r--r-- | libc/string/memrchr.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/libc/string/memrchr.c b/libc/string/memrchr.c index 3a7e22f9b..60211f804 100644 --- a/libc/string/memrchr.c +++ b/libc/string/memrchr.c @@ -8,30 +8,21 @@ #include "_string.h" #ifdef __USE_GNU - - void *memrchr(const void *s, int c, size_t n) { register const unsigned char *r; -#ifdef __BCC__ - /* bcc can optimize the counter if it thinks it is a pointer... */ - register const char *np = (const char *) n; -#else -#define np n -#endif - r = ((unsigned char *)s) + ((size_t) np); + r = ((unsigned char *)s) + ((size_t) n); - while (np) { + while (n) { if (*--r == ((unsigned char)c)) { return (void *) r; /* silence the warning */ } - --np; + --n; } return NULL; } -#undef np libc_hidden_def(memrchr) #endif |