getopt is not required to set optarg to NULL when there is no argument

and some do not, so set it explicitly each time.
This commit is contained in:
nicm 2020-03-17 16:02:38 +00:00
parent 1ddc128860
commit bd0342b0a7

View File

@ -75,6 +75,7 @@ args_parse(const char *template, int argc, char **argv)
optreset = 1;
optind = 1;
optarg = NULL;
while ((opt = getopt(argc, argv, template)) != -1) {
if (opt < 0)
@ -84,6 +85,7 @@ args_parse(const char *template, int argc, char **argv)
return (NULL);
}
args_set(args, opt, optarg);
optarg = NULL;
}
argc -= optind;
argv += optind;