]> pd.if.org Git - pdclib/blobdiff - functions/string/memchr.c
Re-import from Subversion.
[pdclib] / functions / string / memchr.c
index 83d6f1702c5fd3fc190d9082c4f577892ea604dc..1c9563c7efa3641f166009935fe281cb0ce00c06 100644 (file)
@@ -1,17 +1,23 @@
-// ----------------------------------------------------------------------------
-// $Id$
-// ----------------------------------------------------------------------------
-// Public Domain C Library - http://pdclib.sourceforge.net
-// This code is Public Domain. Use, modify, and redistribute at will.
-// ----------------------------------------------------------------------------
+/* ----------------------------------------------------------------------------
+ * $Id$
+ * ----------------------------------------------------------------------------
+ * Public Domain C Library - http://pdclib.sourceforge.net
+ * This code is Public Domain. Use, modify, and redistribute at will.
+ * --------------------------------------------------------------------------*/
 
-// ----------------------------------------------------------------------------
-// C++
+#include <__size_t.h>
+#include <__NULL.h>
 
-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;
+}