summaryrefslogtreecommitdiff
path: root/missing/strchr.c
blob: 50714c99426f114b6db12014d327bd21cfb76038 (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
/*
 * strchr --- search a string for a character
 *
 * We supply this routine for those systems that aren't standard yet.
 */

#include <stdio.h>

char *
strchr(str, c)
register 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)
register const char *str, c;
{
	register const char *save = NULL;

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

	return (char *) save;
}