summaryrefslogtreecommitdiff
path: root/libc/string/memrchr.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/string/memrchr.c')
-rw-r--r--libc/string/memrchr.c15
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