summaryrefslogtreecommitdiff
path: root/src/string/strchr.c
blob: fe4746f4c7da62e54ee35b9b76640124b915f8f2 (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
#include <string.h>
#include "_safety.h"

/** string search **/

char * strchr(const char *s, int c)
{
	SIGNAL_SAFE(0);
	ASSERT_NONNULL(s);
	DANGEROUS_READ(s, -1);
	size_t len = strlen(s);
	DANGER_OVER();

	/*
	RETURN_FAILURE(CONSTANT(NULL));
	RETURN_SUCCESS(a pointer to the located character);
	*/
	return (char*)memchr(s, (char)c, len);
}

CHECK_2(char *, 0, strchr, const char *, int)

/***
searches the string ARGUMENT(s) for the first occurrence of
ARGUMENT(c) (converted to a TYPE(char)).
***/

/*
STDC(1)
*/