aboutsummaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2020-10-06 02:36:47 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2020-10-06 02:36:47 +0200
commit2496616b0a8d1c80cd1416b73a4847b59b9f969a (patch)
treedc52a8f9bbbf33d507ecf0b808614b7923786567 /networking
parent535a509846be5087ddd0d6e8fc6399f919942639 (diff)
downloadbusybox-w32-2496616b0a8d1c80cd1416b73a4847b59b9f969a.tar.gz
busybox-w32-2496616b0a8d1c80cd1416b73a4847b59b9f969a.tar.bz2
busybox-w32-2496616b0a8d1c80cd1416b73a4847b59b9f969a.zip
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>
Diffstat (limited to 'networking')
-rw-r--r--networking/nslookup.c5
-rw-r--r--networking/udhcp/common.c10
2 files changed, 8 insertions, 7 deletions
diff --git a/networking/nslookup.c b/networking/nslookup.c
index c43e60558..759de5c83 100644
--- a/networking/nslookup.c
+++ b/networking/nslookup.c
@@ -703,12 +703,13 @@ static void parse_resolvconf(void)
703 703
704 while (fgets(line, sizeof(line), resolv)) { 704 while (fgets(line, sizeof(line), resolv)) {
705 char *p, *arg; 705 char *p, *arg;
706 char *tokstate;
706 707
707 p = strtok(line, " \t\n"); 708 p = strtok_r(line, " \t\n", &tokstate);
708 if (!p) 709 if (!p)
709 continue; 710 continue;
710 dbg("resolv_key:'%s'\n", p); 711 dbg("resolv_key:'%s'\n", p);
711 arg = strtok(NULL, "\n"); 712 arg = strtok_r(NULL, "\n", &tokstate);
712 dbg("resolv_arg:'%s'\n", arg); 713 dbg("resolv_arg:'%s'\n", arg);
713 if (!arg) 714 if (!arg)
714 continue; 715 continue;
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
index 20d843bab..4bc719001 100644
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -526,7 +526,7 @@ int FAST_FUNC udhcp_str2optset(const char *const_str, void *arg,
526 526
527 /* Cheat, the only *const* str possible is "" */ 527 /* Cheat, the only *const* str possible is "" */
528 str = (char *) const_str; 528 str = (char *) const_str;
529 opt = strtok(str, " \t=:"); 529 opt = strtok_r(str, " \t=:", &str);
530 if (!opt) 530 if (!opt)
531 return 0; 531 return 0;
532 532
@@ -550,10 +550,10 @@ int FAST_FUNC udhcp_str2optset(const char *const_str, void *arg,
550 char *val; 550 char *val;
551 551
552 if (optflag->flags == OPTION_BIN) { 552 if (optflag->flags == OPTION_BIN) {
553 val = strtok(NULL, ""); /* do not split "'q w e'" */ 553 val = strtok_r(NULL, "", &str); /* do not split "'q w e'" */
554 if (val) trim(val); 554 if (val) trim(val);
555 } else 555 } else
556 val = strtok(NULL, ", \t"); 556 val = strtok_r(NULL, ", \t", &str);
557 if (!val) 557 if (!val)
558 break; 558 break;
559 559
@@ -567,7 +567,7 @@ int FAST_FUNC udhcp_str2optset(const char *const_str, void *arg,
567 break; 567 break;
568 case OPTION_IP_PAIR: 568 case OPTION_IP_PAIR:
569 retval = udhcp_str2nip(val, buffer); 569 retval = udhcp_str2nip(val, buffer);
570 val = strtok(NULL, ", \t/-"); 570 val = strtok_r(NULL, ", \t/-", &str);
571 if (!val) 571 if (!val)
572 retval = 0; 572 retval = 0;
573 if (retval) 573 if (retval)
@@ -631,7 +631,7 @@ int FAST_FUNC udhcp_str2optset(const char *const_str, void *arg,
631 *slash = '\0'; 631 *slash = '\0';
632 retval = udhcp_str2nip(val, buffer + 1); 632 retval = udhcp_str2nip(val, buffer + 1);
633 buffer[0] = mask = bb_strtou(slash + 1, NULL, 10); 633 buffer[0] = mask = bb_strtou(slash + 1, NULL, 10);
634 val = strtok(NULL, ", \t/-"); 634 val = strtok_r(NULL, ", \t/-", &str);
635 if (!val || mask > 32 || errno) 635 if (!val || mask > 32 || errno)
636 retval = 0; 636 retval = 0;
637 if (retval) { 637 if (retval) {