X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmisc%2Fgetopt_long.c;h=4ef5a5c7a861d8ea3fe8cefb1f248e60d35db981;hb=d75348ddda4e63c2a36c292a5b64b78d46e24422;hp=6d3a4a6e644e5dc4ba3156ba3a7ce4a0c006c9cb;hpb=b9bb8f67bbac9bab5314fb00974ad469476e936e;p=musl diff --git a/src/misc/getopt_long.c b/src/misc/getopt_long.c index 6d3a4a6e..4ef5a5c7 100644 --- a/src/misc/getopt_long.c +++ b/src/misc/getopt_long.c @@ -3,8 +3,15 @@ #include #include +extern int __optpos, __optreset; + static int __getopt_long(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *idx, int longonly) { + if (!optind || __optreset) { + __optreset = 0; + __optpos = 0; + optind = 1; + } if (optind >= argc || !argv[optind] || argv[optind][0] != '-') return -1; if ((longonly && argv[optind][1]) || (argv[optind][1] == '-' && argv[optind][2]))