make sure the actual length of the argument passed matches the

length of the argument declared
this fixes things like `php --zend-exten=1` or `php-fpm --fpm-con=conf`
This commit is contained in:
Antony Dovgal 2010-04-08 15:27:21 +00:00
parent c0531d8db0
commit 14d1095a5c

View File

@ -107,9 +107,15 @@ PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char
break;
}
}
optchr = 0;
dash = 0;
arg_start += strlen(opts[php_optidx].opt_name);
if (arg_end == strlen(opts[php_optidx].opt_name)) {
optchr = 0;
dash = 0;
arg_start += strlen(opts[php_optidx].opt_name);
} else {
(*optind)++;
return (php_opt_error(argc, argv, *optind-1, optchr, OPTERRNF, show_err));
}
} else {
if (!dash) {
dash = 1;