1/* 2FUNCTION 3 <<memchr>>---find character in memory 4 5INDEX 6 memchr 7 8ANSI_SYNOPSIS 9 #include <string.h> 10 void *memchr(const void *<[src]>, int <[c]>, size_t <[length]>); 11 12TRAD_SYNOPSIS 13 #include <string.h> 14 void *memchr(<[src]>, <[c]>, <[length]>) 15 void *<[src]>; 16 void *<[c]>; 17 size_t <[length]>; 18 19DESCRIPTION 20 This function searches memory starting at <<*<[src]>>> for the 21 character <[c]>. The search only ends with the first 22 occurrence of <[c]>, or after <[length]> characters; in 23 particular, <<NULL>> does not terminate the search. 24 25RETURNS 26 If the character <[c]> is found within <[length]> characters 27 of <<*<[src]>>>, a pointer to the character is returned. If 28 <[c]> is not found, then <<NULL>> is returned. 29 30PORTABILITY 31<<memchr>> requires no supporting OS subroutines. 32 33QUICKREF 34 memchr ansi pure 35 36*/ 37 38#include <ansidecl.h> 39#ifdef __STDC__ 40#include <stddef.h> 41#else 42#define size_t unsigned long 43#endif 44 45PTR 46memchr (src_void, c, length) 47 register const PTR src_void; 48 int c; 49 size_t length; 50{ 51 const unsigned char *src = (const unsigned char *)src_void; 52 53 while (length-- > 0) 54 { 55 if (*src == c) 56 return (PTR)src; 57 src++; 58 } 59 return NULL; 60} 61