avoid using strok - eliminates use of hidden global variable
function old new delta udhcp_str2optset 616 650 +34 setpriv_main 950 975 +25 switch_root_main 688 706 +18 parse 958 970 +12 getopt_main 622 628 +6 parse_resolvconf 302 306 +4 mpstat_main 1139 1142 +3 static.p 4 - -4 cdcmd 717 702 -15 strtok 148 - -148 ------------------------------------------------------------------------------ (add/remove: 0/3 grow/shrink: 7/1 up/down: 102/-167) Total: -65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -115,6 +115,7 @@ static int parse(const char *boundary, char **argv)
|
||||
/* Split to tokens */
|
||||
{
|
||||
char *s, *p;
|
||||
char *tokstate;
|
||||
unsigned ntokens;
|
||||
const char *delims = ";=\" \t\n";
|
||||
|
||||
@ -127,13 +128,13 @@ static int parse(const char *boundary, char **argv)
|
||||
}
|
||||
dbg_error_msg("L:'%s'", p);
|
||||
ntokens = 0;
|
||||
s = strtok(s, delims);
|
||||
s = strtok_r(s, delims, &tokstate);
|
||||
while (s) {
|
||||
tokens[ntokens] = s;
|
||||
if (ntokens < ARRAY_SIZE(tokens) - 1)
|
||||
ntokens++;
|
||||
dbg_error_msg("L[%d]='%s'", ntokens, s);
|
||||
s = strtok(NULL, delims);
|
||||
s = strtok_r(NULL, delims, &tokstate);
|
||||
}
|
||||
tokens[ntokens] = NULL;
|
||||
dbg_error_msg("EMPTYLINE, ntokens:%d", ntokens);
|
||||
|
Reference in New Issue
Block a user