]> pd.if.org Git - pdclib/blobdiff - functions/string/memchr.c
Reviewed.
[pdclib] / functions / string / memchr.c
index 83d6f1702c5fd3fc190d9082c4f577892ea604dc..a584568a22dc4a9c992b8953f8d3780deff670fa 100644 (file)
@@ -5,13 +5,18 @@
 // This code is Public Domain. Use, modify, and redistribute at will.
 // ----------------------------------------------------------------------------
 
-// ----------------------------------------------------------------------------
-// C++
-
-const void * memchr( const void * s, int c, size_t n ) { /* TODO */ };
-void * memchr( void * s, int c, size_t n ) { /* TODO */ };
-
-// ----------------------------------------------------------------------------
-// Standard C
+#include <string.h>
 
-void * memchr( const void * s, int c, size_t n ) { /* TODO */ };
+void * memchr( const void * src, int c, size_t n )
+{
+    const unsigned char * p = (const unsigned char *) src;
+    while ( n-- )
+    {
+        if ( *p == (unsigned char) c )
+        {
+            return (void *) p;
+        }
+        ++p;
+    }
+    return NULL;
+}