1/*
2
3@deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, @
4  size_t @var{n})
5
6This function searches memory starting at @code{*@var{s}} for the
7character @var{c}.  The search only ends with the first occurrence of
8@var{c}, or after @var{length} characters; in particular, a null
9character does not terminate the search.  If the character @var{c} is
10found within @var{length} characters of @code{*@var{s}}, a pointer
11to the character is returned.  If @var{c} is not found, then @code{NULL} is
12returned.
13
14@end deftypefn
15
16*/
17
18#include <ansidecl.h>
19#include <stddef.h>
20
21PTR
22memchr (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