aboutsummaryrefslogtreecommitdiff
path: root/util-linux/getopt.c
diff options
context:
space:
mode:
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
289{ 289{
290 int long_nr = 0; 290 int long_nr = 0;
291 int arg_opt, tlen; 291 int arg_opt, tlen;
292 char *tokptr = strtok(options, ", \t\n"); 292 char *tokptr;
293 293
294 if (long_options) 294 if (long_options)
295 while (long_options[long_nr].name) 295 while (long_options[long_nr].name)
296 long_nr++; 296 long_nr++;
297 297
298 tokptr = strtok_r(options, ", \t\n", &options);
298 while (tokptr) { 299 while (tokptr) {
299 arg_opt = no_argument; 300 arg_opt = no_argument;
300 tlen = strlen(tokptr); 301 tlen = strlen(tokptr);
@@ -318,7 +319,7 @@ static struct option *add_long_options(struct option *long_options, char *option
318 long_nr++; 319 long_nr++;
319 /*memset(&long_options[long_nr], 0, sizeof(long_options[0])); - xrealloc_vector did it */ 320 /*memset(&long_options[long_nr], 0, sizeof(long_options[0])); - xrealloc_vector did it */
320 } 321 }
321 tokptr = strtok(NULL, ", \t\n"); 322 tokptr = strtok_r(NULL, ", \t\n", &options);
322 } 323 }
323 return long_options; 324 return long_options;
324} 325}