/* FUNCTION <<memchr>>---find character in memory INDEX memchr ANSI_SYNOPSIS #include <string.h> void *memchr(const void *<[src]>, int <[c]>, size_t <[length]>); TRAD_SYNOPSIS #include <string.h> void *memchr(<[src]>, <[c]>, <[length]>) void *<[src]>; void *<[c]>; size_t <[length]>; DESCRIPTION This function searches memory starting at <<*<[src]>>> for the character <[c]>. The search only ends with the first occurrence of <[c]>, or after <[length]> characters; in particular, <<NULL>> does not terminate the search. RETURNS If the character <[c]> is found within <[length]> characters of <<*<[src]>>>, a pointer to the character is returned. If <[c]> is not found, then <<NULL>> is returned. PORTABILITY <<memchr>> requires no supporting OS subroutines. QUICKREF memchr ansi pure */ #include <ansidecl.h> #ifdef __STDC__ #include <stddef.h> #else #define size_t unsigned long #endif PTR memchr (src_void, c, length) 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; }