shithub: scc

ref: 3e2b9fc5817172876d54d82e4ddc7df78b051212
dir: /lib/c/strtok.c/

View raw version
#include <string.h>
#undef strtok

char *
strtok(char * restrict s, const char * restrict delim)
{
	static char *line;

	if (s)
		line = s;
	if (!s && !line)
		return NULL;

	s = line + strspn(line, delim);
	if (*s == '\0')
		return line = NULL;

	line = s + strcspn(s, delim);
	if (*line != '\0')
		*line++ = '\0';
	else
		line = NULL;

	return s;
}