xref: /aosp_15_r20/external/musl/src/string/strtok_r.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <string.h>
2*c9945492SAndroid Build Coastguard Worker 
strtok_r(char * restrict s,const char * restrict sep,char ** restrict p)3*c9945492SAndroid Build Coastguard Worker char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p)
4*c9945492SAndroid Build Coastguard Worker {
5*c9945492SAndroid Build Coastguard Worker 	if (!s && !(s = *p)) return NULL;
6*c9945492SAndroid Build Coastguard Worker 	s += strspn(s, sep);
7*c9945492SAndroid Build Coastguard Worker 	if (!*s) return *p = 0;
8*c9945492SAndroid Build Coastguard Worker 	*p = s + strcspn(s, sep);
9*c9945492SAndroid Build Coastguard Worker 	if (**p) *(*p)++ = 0;
10*c9945492SAndroid Build Coastguard Worker 	else *p = 0;
11*c9945492SAndroid Build Coastguard Worker 	return s;
12*c9945492SAndroid Build Coastguard Worker }
13