| #include <stdio.h> | |
| char *strsep(char **stringp, const char *delim) | |
| { | |
| char *s, *tok; | |
| const char *spanp; | |
| int c, sc; | |
| s = *stringp; | |
| if (!s) | |
| return NULL; | |
| tok = s; | |
| do { | |
| c = *s++; | |
| spanp = delim; | |
| do { | |
| sc = *spanp++; | |
| if (sc == c) { | |
| if (c == 0) | |
| s = NULL; | |
| else | |
| s[-1] = 0; | |
| *stringp = s; | |
| return tok; | |
| } | |
| } while (sc != 0); | |
| } while (1); | |
| } |