libdl: first execute all destructors, then munmap library
[uclibc-ng.git] / libc / string / memrchr.c
blob60211f804196826dbfd820ee4cef9589cb71acff
1 /*
2 * Copyright (C) 2002 Manuel Novoa III
3 * Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
5 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6 */
8 #include "_string.h"
10 #ifdef __USE_GNU
11 void *memrchr(const void *s, int c, size_t n)
13 register const unsigned char *r;
15 r = ((unsigned char *)s) + ((size_t) n);
17 while (n) {
18 if (*--r == ((unsigned char)c)) {
19 return (void *) r; /* silence the warning */
21 --n;
24 return NULL;
27 libc_hidden_def(memrchr)
28 #endif