summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libc/string/strtok.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/libc/string/strtok.c b/src/lib/libc/string/strtok.c
index 4e963a019e..6ba6b21cd6 100644
--- a/src/lib/libc/string/strtok.c
+++ b/src/lib/libc/string/strtok.c
@@ -40,11 +40,10 @@ strtok(char *s, const char *delim)
40char * 40char *
41strtok_r(char *s, const char *delim, char **last) 41strtok_r(char *s, const char *delim, char **last)
42{ 42{
43 char *spanp; 43 const char *spanp;
44 int c, sc; 44 int c, sc;
45 char *tok; 45 char *tok;
46 46
47
48 if (s == NULL && (s = *last) == NULL) 47 if (s == NULL && (s = *last) == NULL)
49 return (NULL); 48 return (NULL);
50 49
@@ -53,7 +52,7 @@ strtok_r(char *s, const char *delim, char **last)
53 */ 52 */
54cont: 53cont:
55 c = *s++; 54 c = *s++;
56 for (spanp = (char *)delim; (sc = *spanp++) != 0;) { 55 for (spanp = delim; (sc = *spanp++) != 0;) {
57 if (c == sc) 56 if (c == sc)
58 goto cont; 57 goto cont;
59 } 58 }
@@ -70,13 +69,13 @@ cont:
70 */ 69 */
71 for (;;) { 70 for (;;) {
72 c = *s++; 71 c = *s++;
73 spanp = (char *)delim; 72 spanp = delim;
74 do { 73 do {
75 if ((sc = *spanp++) == c) { 74 if ((sc = *spanp++) == c) {
76 if (c == 0) 75 if (c == 0)
77 s = NULL; 76 s = NULL;
78 else 77 else
79 s[-1] = 0; 78 s[-1] = '\0';
80 *last = s; 79 *last = s;
81 return (tok); 80 return (tok);
82 } 81 }