]>
Commit | Line | Data |
---|---|---|
6599da04 | 1 | /* |
6599da04 | 2 | |
aaa5f039 | 3 | @deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, size_t @var{n}) |
6599da04 | 4 | |
7f8fa05d | 5 | This function searches memory starting at @code{*@var{s}} for the |
aaa5f039 DD |
6 | character @var{c}. The search only ends with the first occurrence of |
7 | @var{c}, or after @var{length} characters; in particular, a null | |
8 | character does not terminate the search. If the character @var{c} is | |
7f8fa05d JM |
9 | found within @var{length} characters of @code{*@var{s}}, a pointer |
10 | to the character is returned. If @var{c} is not found, then @code{NULL} is | |
aaa5f039 | 11 | returned. |
6599da04 | 12 | |
aaa5f039 | 13 | @end deftypefn |
6599da04 JM |
14 | |
15 | */ | |
16 | ||
17 | #include <ansidecl.h> | |
0ae0f1b0 | 18 | #ifdef ANSI_PROTOTYPES |
6599da04 JM |
19 | #include <stddef.h> |
20 | #else | |
21 | #define size_t unsigned long | |
22 | #endif | |
23 | ||
24 | PTR | |
25 | memchr (src_void, c, length) | |
11a0bb74 | 26 | register const PTR src_void; |
6599da04 JM |
27 | int c; |
28 | size_t length; | |
29 | { | |
11a0bb74 | 30 | const unsigned char *src = (const unsigned char *)src_void; |
6599da04 | 31 | |
27f66c0b | 32 | while (length-- > 0) |
6599da04 JM |
33 | { |
34 | if (*src == c) | |
35 | return (PTR)src; | |
36 | src++; | |
37 | } | |
38 | return NULL; | |
39 | } |