diff options
author | Peter Johnson <peter@tortall.net> | 2015-11-06 02:43:29 -0800 |
---|---|---|
committer | Peter Johnson <peter@tortall.net> | 2015-11-06 02:43:29 -0800 |
commit | 19a29bfca1925953558967ae7406ba26d7a345a4 (patch) | |
tree | 8a0029a28641e6903d266a53b4f79410dc0655aa | |
parent | 37330617445f114eea0ffc47406636638187e76c (diff) | |
parent | 8fd3d4d95e565a27657092f5bb678815375fcfb5 (diff) | |
download | yasm-19a29bfca1925953558967ae7406ba26d7a345a4.tar.gz |
Merge pull request #74 from darealshinji/patch-1
fixing an argument parsing bug in ytasm
-rw-r--r-- | frontends/tasm/tasm-options.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/frontends/tasm/tasm-options.c b/frontends/tasm/tasm-options.c index 57c3bdfd..3d40f31b 100644 --- a/frontends/tasm/tasm-options.c +++ b/frontends/tasm/tasm-options.c @@ -65,15 +65,18 @@ parse_cmdline(int argc, char **argv, opt_option *options, size_t nopts, param = &argv[0][1+len]; if (options[i].takes_param) { - if (param[0] == '\0') { + if (param[0] != '\0') { + /* do nothing */ + } else if (argc > 1) { + param = argv[1]; + argc--; + argv++; + } else { print_error( - _("option `-%c' needs an argument!"), + _("option `-%s' needs an argument!"), options[i].opt); errors++; goto fail; - } else { - argc--; - argv++; } } else param = NULL; |