19990502 sourceware import
[deliverable/binutils-gdb.git] / libiberty / memchr.c
CommitLineData
252b5132
RH
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}
This page took 0.024211 seconds and 4 git commands to generate.