| /* | 
 |  | 
 | @deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, @ | 
 |   size_t @var{n}) | 
 |  | 
 | This function searches memory starting at @code{*@var{s}} for the | 
 | character @var{c}.  The search only ends with the first occurrence of | 
 | @var{c}, or after @var{length} characters; in particular, a null | 
 | character does not terminate the search.  If the character @var{c} is | 
 | found within @var{length} characters of @code{*@var{s}}, a pointer | 
 | to the character is returned.  If @var{c} is not found, then @code{NULL} is | 
 | returned. | 
 |  | 
 | @end deftypefn | 
 |  | 
 | */ | 
 |  | 
 | #include <ansidecl.h> | 
 | #include <stddef.h> | 
 |  | 
 | PTR | 
 | memchr (register const PTR src_void, int c, size_t length) | 
 | { | 
 |   const unsigned char *src = (const unsigned char *)src_void; | 
 |    | 
 |   while (length-- > 0) | 
 |   { | 
 |     if (*src == c) | 
 |      return (PTR)src; | 
 |     src++; | 
 |   } | 
 |   return NULL; | 
 | } |