diff options
Diffstat (limited to 'src/mem/memrchr.c')
-rw-r--r-- | src/mem/memrchr.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mem/memrchr.c b/src/mem/memrchr.c index 1799d27..a6e35af 100644 --- a/src/mem/memrchr.c +++ b/src/mem/memrchr.c @@ -6,4 +6,15 @@ #include <mem.h> -extern inline void *calt_memrchr(void const *ptr, unsigned char value, size_t count); +void *calt_memrchr(void const *ptr, unsigned char value, size_t count) { + unsigned char const *p = ptr; + p = p + count; + + while (count > 0) { + if (*(--p) == value) { + return (void *)p; + } + } + + return NULL; +} |