Strtok.c (345B)
1 #include "std.h" 2 3 void 4 Strtok(String *p, char *str, char *sep, char **last) 5 { 6 char *q; 7 8 if (str != NULL) 9 *last = str; 10 if (*last == NULL) 11 sysfatal("libstr: wrong Strtok() usage."); 12 q = strpbrk(*last, sep); 13 if (q == NULL) 14 q = *last + strlen(*last); 15 Strzero(p); 16 Stradds(p, Strn(*last, q - *last)); 17 *last = (*q == '\0') ? q : q + 1; 18 }