summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/player/command.c b/player/command.c
index cc8b609c50..3fe39642a6 100644
--- a/player/command.c
+++ b/player/command.c
@@ -4825,6 +4825,16 @@ static void cmd_cycle_values(void *p)
change_property_cmd(cmd, name, M_PROPERTY_SET_STRING, cmd->args[current].v.s);
}
+static void cmd_list(void *p)
+{
+ struct mp_cmd_ctx *cmd = p;
+
+ for (struct mp_cmd *sub = cmd->cmd->args[0].v.p; sub; sub = sub->queue_next)
+ run_command(cmd->mpctx, sub, NULL);
+}
+
+const struct mp_cmd_def mp_cmd_list = { "list", cmd_list };
+
int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *res)
{
struct mpv_node dummy_node = {0};
@@ -4861,13 +4871,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
}
}
- if (cmd->def == &mp_cmd_list) {
- for (struct mp_cmd *sub = cmd->args[0].v.p; sub; sub = sub->queue_next)
- run_command(mpctx, sub, NULL);
- } else {
- assert(cmd->def->handler);
- cmd->def->handler(ctx);
- }
+ cmd->def->handler(ctx);
if (!ctx->success)
mpv_free_node_contents(ctx->result);