1 --- a/src/misc/getopt.c
2 +++ b/src/misc/getopt.c
3 @@ -24,8 +24,23 @@ int getopt(int argc, char * const argv[]
7 - if (optind >= argc || !argv[optind] || argv[optind][0] != '-' || !argv[optind][1])
8 + if (optind >= argc || !argv[optind])
11 + if (argv[optind][0] != '-') {
13 + if (optstring[0] == '-') {
14 + optarg = argv[optind];
22 + if (!argv[optind][1])
25 if (argv[optind][1] == '-' && !argv[optind][2])
28 --- a/src/misc/getopt_long.c
29 +++ b/src/misc/getopt_long.c
30 @@ -12,7 +12,12 @@ static int __getopt_long(int argc, char
34 - if (optind >= argc || !argv[optind] || argv[optind][0] != '-') return -1;
35 + if (optind >= argc || !argv[optind])
38 + if (argv[optind][0] != '-')
39 + return getopt(argc, argv, optstring);
41 if ((longonly && argv[optind][1]) ||
42 (argv[optind][1] == '-' && argv[optind][2]))