aboutsummaryrefslogtreecommitdiff
path: root/util-linux/getopt.c
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 /util-linux/getopt.c
parent535a509846be5087ddd0d6e8fc6399f919942639 (diff)
downloadbusybox-2496616b0a8d1c80cd1416b73a4847b59b9f969a.tar.gz
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 'util-linux/getopt.c')
-rw-r--r--util-linux/getopt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util-linux/getopt.c b/util-linux/getopt.c
index db7db6ff8..1fa402429 100644
--- a/util-linux/getopt.c
+++ b/util-linux/getopt.c
@@ -289,12 +289,13 @@ static struct option *add_long_options(struct option *long_options, char *option
{
int long_nr = 0;
int arg_opt, tlen;
- char *tokptr = strtok(options, ", \t\n");
+ char *tokptr;
if (long_options)
while (long_options[long_nr].name)
long_nr++;
+ tokptr = strtok_r(options, ", \t\n", &options);
while (tokptr) {
arg_opt = no_argument;
tlen = strlen(tokptr);
@@ -318,7 +319,7 @@ static struct option *add_long_options(struct option *long_options, char *option
long_nr++;
/*memset(&long_options[long_nr], 0, sizeof(long_options[0])); - xrealloc_vector did it */
}
- tokptr = strtok(NULL, ", \t\n");
+ tokptr = strtok_r(NULL, ", \t\n", &options);
}
return long_options;
}