diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/cli-opts.h | 2 | ||||
-rw-r--r-- | cli/cli.h | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/cli/cli-opts.h b/cli/cli-opts.h index 4a94bcc..2266230 100644 --- a/cli/cli-opts.h +++ b/cli/cli-opts.h @@ -71,7 +71,7 @@ int cli_opt_data_size_set(struct cli_opt *self, const char *val) invalid: fprintf(stderr, "invalid value \"%s\", expected a number optionally followed " - "by a multiplicative suffix (K, M, G, T).", + "by a multiplicative suffix (K, M, G, T).\n", val); return CLI_RC_ERR; } @@ -431,8 +431,11 @@ static int parse_options(struct cli_ctx *ctx) return CLI_RC_OK; if (key[1] == '-') { /* Everything after '--' are non-option arguments */ - if (key[2] == '\0') + if (key[2] == '\0') { + ctx->argc--; + ctx->argv++; return CLI_RC_OK; + } int rc = parse_long(ctx); if (rc != CLI_RC_OK) @@ -520,7 +523,7 @@ static int cli_run(struct cli *const cli, int argc, char *argv[]) ctx.argv++; rc = cli_cmd_run(cli, cmd, &ctx); - goto out; + return rc; } } rc = CLI_RC_BAD_ARGS; |