summaryrefslogtreecommitdiff
path: root/na/lib/string/memrchr.c
diff options
context:
space:
mode:
Diffstat (limited to 'na/lib/string/memrchr.c')
-rw-r--r--na/lib/string/memrchr.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/na/lib/string/memrchr.c b/na/lib/string/memrchr.c
new file mode 100644
index 0000000..8d5c742
--- /dev/null
+++ b/na/lib/string/memrchr.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: MIT */
+/* Derived from musl libc (Copyright © 2005-2020 Rich Felker, et al.) */
+
+#include <string.h>
+
+void *__memrchr(const void *m, int c, size_t n)
+{
+ const unsigned char *s = m;
+ c = (unsigned char)c;
+ while (n--) if (s[n]==c) return (void *)(s+n);
+ return 0;
+}
+
+weak_alias(__memrchr, memrchr);