1 /*
2 
3 @deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, @
4   size_t @var{n})
5 
6 This function searches memory starting at @code{*@var{s}} for the
7 character @var{c}.  The search only ends with the first occurrence of
8 @var{c}, or after @var{length} characters; in particular, a null
9 character does not terminate the search.  If the character @var{c} is
10 found within @var{length} characters of @code{*@var{s}}, a pointer
11 to the character is returned.  If @var{c} is not found, then @code{NULL} is
12 returned.
13 
14 @end deftypefn
15 
16 */
17 
18 #include <ansidecl.h>
19 #include <stddef.h>
20 
21 PTR
memchr(register const PTR src_void,int c,size_t length)22 memchr (register const PTR src_void, int c, size_t length)
23 {
24   const unsigned char *src = (const unsigned char *)src_void;
25 
26   while (length-- > 0)
27   {
28     if (*src == c)
29      return (PTR)src;
30     src++;
31   }
32   return NULL;
33 }
34