]> pd.if.org Git - pdclib/blobdiff - functions/string/memchr.c
Implemented.
[pdclib] / functions / string / memchr.c
index 83d6f1702c5fd3fc190d9082c4f577892ea604dc..e09df0d4a157b49cc5de835e05318811ca45b9f1 100644 (file)
@@ -5,13 +5,16 @@
 // 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
-
-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;
+}