|
|
1.1 root 1: /*
2: FUNCTION
3: <<memchr>>---find character in memory
4:
5: INDEX
6: memchr
7:
8: ANSI_SYNOPSIS
9: #include <string.h>
10: void *memchr(const void *<[src]>, int <[c]>, size_t <[length]>);
11:
12: TRAD_SYNOPSIS
13: #include <string.h>
14: void *memchr(<[src]>, <[c]>, <[length]>)
15: void *<[src]>;
16: void *<[c]>;
17: size_t <[length]>;
18:
19: DESCRIPTION
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:
25: RETURNS
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:
30: PORTABILITY
31: <<memchr>> requires no supporting OS subroutines.
32:
33: QUICKREF
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:
45: PTR
46: memchr (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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.