summaryrefslogtreecommitdiff
path: root/libkern/memchr.c
diff options
context:
space:
mode:
Diffstat (limited to 'libkern/memchr.c')
-rw-r--r--libkern/memchr.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libkern/memchr.c b/libkern/memchr.c
new file mode 100644
index 00000000..5692f435
--- /dev/null
+++ b/libkern/memchr.c
@@ -0,0 +1,16 @@
+#include <lib9.h>
+
+void*
+memchr(void *ap, int c, ulong n)
+{
+ uchar *sp;
+
+ sp = ap;
+ c &= 0xFF;
+ while(n > 0) {
+ if(*sp++ == c)
+ return sp-1;
+ n--;
+ }
+ return 0;
+}