Home | History | Annotate | Download | only in libiberty
      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
     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