summaryrefslogtreecommitdiffstats
path: root/input/cmd_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'input/cmd_parse.c')
-rw-r--r--input/cmd_parse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/input/cmd_parse.c b/input/cmd_parse.c
index e2296ce215..64b23ac05f 100644
--- a/input/cmd_parse.c
+++ b/input/cmd_parse.c
@@ -199,10 +199,11 @@ static struct mp_cmd *parse_cmd(struct parse_ctx *ctx, int def_flags)
if (is_vararg)
continue;
// Skip optional arguments
- if (opt->defval) {
+ if (opt->defval || (opt->flags & MP_CMD_OPT_ARG)) {
struct mp_cmd_arg *cmdarg = &cmd->args[cmd->nargs];
cmdarg->type = opt;
- m_option_copy(opt, &cmdarg->v, opt->defval);
+ if (opt->defval)
+ m_option_copy(opt, &cmdarg->v, opt->defval);
cmd->nargs++;
continue;
}