diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/string.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/string.c b/src/lib/string.c index f0c24edcfc..e8f72a28e8 100644 --- a/src/lib/string.c +++ b/src/lib/string.c @@ -163,6 +163,31 @@ int strcspn(const char *str, const char *spn) return ret; } +char *strtok_r(char *str, const char *delim, char **ptr) +{ + char *start; + char *end; + + if (str == NULL) + str = *ptr; + start = str + strspn(str, delim); + if (start[0] == '\0') + return NULL; + + end = start + strcspn(start, delim); + *ptr = end; + if (end[0] != '\0') + *(*ptr)++ = '\0'; + return start; +} + +char *strtok(char *str, const char *delim) +{ + static char *strtok_ptr; + + return strtok_r(str, delim, &strtok_ptr); +} + long atol(const char *str) { long ret = 0; |