summaryrefslogtreecommitdiff
path: root/missing_d/strchr.c
blob: e549099d30da4e0bbff76dc944202fafc218beb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 * strchr --- search a string for a character
 *
 * We supply this routine for those systems that aren't standard yet.
 */

#if 0
#include <stdio.h>
#endif

char *
strchr(str, c)
const char *str, c;
{
	if (c == '\0') {
		/* thanks to Mike Brennan ... */
		do {
			if (*str == c)
				return (char *) str;
		} while (*str++);
	} else {
		for (; *str; str++)
			if (*str == c)
				return (char *) str;
	}

	return NULL;
}

/*
 * strrchr --- find the last occurrence of a character in a string
 *
 * We supply this routine for those systems that aren't standard yet.
 */

char *
strrchr(str, c)
const char *str, c;
{
	const char *save = NULL;

	for (; *str; str++)
		if (*str == c)
			save = str;

	return (char *) save;
}