Explorar o código

fix bug whereby getopt_long allowed mismatch in last char of option name

Rich Felker %!s(int64=14) %!d(string=hai) anos
pai
achega
6f0259a4fc
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/linux/getopt_long.c

+ 1 - 1
src/linux/getopt_long.c

@@ -14,7 +14,7 @@ static int __getopt_long(int argc, char *const *argv, const char *optstring, con
 			const char *name = longopts[i].name;
 			char *opt = argv[optind]+1;
 			if (*opt == '-') opt++;
-			while (*name && *name++ == *opt++);
+			for (; *name && *name == *opt; name++, opt++);
 			if (*name || (*opt && *opt != '=')) continue;
 			if (*opt == '=') {
 				if (!longopts[i].has_arg) continue;