1169695Skan/*
2169695Skan
3169695Skan@deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, size_t @var{n})
4169695Skan
5169695SkanThis function searches memory starting at @code{*@var{s}} for the
6169695Skancharacter @var{c}.  The search only ends with the first occurrence of
7169695Skan@var{c}, or after @var{length} characters; in particular, a null
8169695Skancharacter does not terminate the search.  If the character @var{c} is
9169695Skanfound within @var{length} characters of @code{*@var{s}}, a pointer
10169695Skanto the character is returned.  If @var{c} is not found, then @code{NULL} is
11169695Skanreturned.
12169695Skan
13169695Skan@end deftypefn
14169695Skan
15169695Skan*/
16169695Skan
17169695Skan#include <ansidecl.h>
18169695Skan#include <stddef.h>
19169695Skan
20169695SkanPTR
21169695Skanmemchr (register const PTR src_void, int c, size_t length)
22169695Skan{
23169695Skan  const unsigned char *src = (const unsigned char *)src_void;
24169695Skan
25169695Skan  while (length-- > 0)
26169695Skan  {
27169695Skan    if (*src == c)
28169695Skan     return (PTR)src;
29169695Skan    src++;
30169695Skan  }
31169695Skan  return NULL;
32169695Skan}
33