X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fmisc%2Fgetopt_long.c;h=4ef5a5c7a861d8ea3fe8cefb1f248e60d35db981;hp=6d3a4a6e644e5dc4ba3156ba3a7ce4a0c006c9cb;hb=030e52639248ac8417a4934298caa78c21a228d1;hpb=e44849f5cf331e655705b18d6c81c616e29d50d0;ds=sidebyside 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]))