summaryrefslogtreecommitdiff
path: root/src/string/strtok_r.c
blob: 862d4fe48550fdb7f3c97f2f271f98fb34206dd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#include <string.h>

char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p)
{
	if (!s && !(s = *p)) return NULL;
	s += strspn(s, sep);
	if (!*s) return *p = 0;
	*p = s + strcspn(s, sep);
	if (**p) *(*p)++ = 0;
	else *p = 0;
	return s;
}