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

This commit is contained in:
Rich Felker 2011-04-13 14:52:23 -04:00
parent 45a3219944
commit 6f0259a4fc
1 changed files with 1 additions and 1 deletions

View File

@ -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;