]> git.ozlabs.org Git - ccan/blobdiff - ccan/mem/mem.c
mem: Implement memrchr()
[ccan] / ccan / mem / mem.c
index ce675ff0db4238b6840fcdd98bff736ba90b508c..853f975db15c1e0c096387c53973a7bdf3b14095 100644 (file)
@@ -25,3 +25,18 @@ void *memmem(const void *haystack, size_t haystacklen,
        return NULL;
 }
 #endif
+
+#if !HAVE_MEMRCHR
+void *memrchr(const void *s, int c, size_t n)
+{
+       unsigned char *p = (unsigned char *)s;
+
+       while (n) {
+               if (p[n-1] == c)
+                       return p + n - 1;
+               n--;
+       }
+
+       return NULL;
+}
+#endif