Skip to content

Instantly share code, notes, and snippets.

@smlb
Last active July 20, 2017 12:39
Show Gist options
  • Save smlb/fab889beba3c1a9c7f7c to your computer and use it in GitHub Desktop.
Save smlb/fab889beba3c1a9c7f7c to your computer and use it in GitHub Desktop.
strtok.c
char* strtok(char* str, const char* delim) {
static char* s = NULL;
char* tok;
if(str == NULL) {
if(s == NULL)
return NULL;
} else
s = str;
for(size_t i; (*s != '\0'); s++) {
for(i = 0; (delim[i] != '\0') && (*s != delim[i]); i++);
if(delim[i] == '\0')
break;
}
if(*s == '\0')
return s = NULL;
tok = s++;
for(size_t i; (*s != '\0'); s++) {
for(i = 0; (delim[i] != '\0') && (*s != delim[i]); i++);
if(delim[i] != '\0')
break;
}
if(*s != '\0') {
*s = '\0';
s++;
}
return tok;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment