shithub: scc

ref: c8e83b592e5195397337ceef26a9c51fbef31dfc
dir: /libc/src/strtok.c/

View raw version
/* See LICENSE file for copyright and license details. */

#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;
}