diff --git a/frontends/yasm/yasm-options.c b/frontends/yasm/yasm-options.c index 613f870c..7c7d081f 100644 --- a/frontends/yasm/yasm-options.c +++ b/frontends/yasm/yasm-options.c @@ -98,7 +98,9 @@ parse_cmdline(int argc, char **argv, opt_option *options, size_t nopts) if (options[i].takes_param) { param = argv[1]; - if (param == NULL || *param == '-') { + if (argv[0][2] != '\0') + param = &argv[0][2]; + else if (param == NULL || *param == '-') { ErrorNow(_("option '-%c' needs an argument!"), options[i].sopt); errors++; diff --git a/src/options.c b/src/options.c index 613f870c..7c7d081f 100644 --- a/src/options.c +++ b/src/options.c @@ -98,7 +98,9 @@ parse_cmdline(int argc, char **argv, opt_option *options, size_t nopts) if (options[i].takes_param) { param = argv[1]; - if (param == NULL || *param == '-') { + if (argv[0][2] != '\0') + param = &argv[0][2]; + else if (param == NULL || *param == '-') { ErrorNow(_("option '-%c' needs an argument!"), options[i].sopt); errors++;