summaryrefslogtreecommitdiff
path: root/gnu/dist/gawk/missing_d/strchr.c
blob: bd2155bfa210fd89df5dce92afb5bd97ab4dea7d (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
48
49
/*	$NetBSD: strchr.c,v 1.1.1.1 2003/10/06 16:44:06 wiz Exp $	*/

/*
 * 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)
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;
}