diff options
author | wm4 <wm4@nowhere> | 2020-02-19 16:25:18 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-19 16:25:18 +0100 |
commit | 2567997ecfcb164bb1467543a30350eca9a3e512 (patch) | |
tree | fe91e9b3d142a4654f3f6b7b6e877bb5e1b661dc /input/cmd.c | |
parent | a4d95fe98b552bdb599f44c66628af6f1842abb0 (diff) | |
download | mpv-2567997ecfcb164bb1467543a30350eca9a3e512.tar.bz2 mpv-2567997ecfcb164bb1467543a30350eca9a3e512.tar.xz |
input: log commands with parameter names
Diffstat (limited to 'input/cmd.c')
-rw-r--r-- | input/cmd.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/input/cmd.c b/input/cmd.c index 5a073d9fec..692b9f5ad5 100644 --- a/input/cmd.c +++ b/input/cmd.c @@ -544,6 +544,15 @@ mp_cmd_t *mp_cmd_clone(mp_cmd_t *cmd) return ret; } +static int get_arg_count(const struct mp_cmd_def *cmd) +{ + for (int i = MP_CMD_DEF_MAX_ARGS - 1; i >= 0; i--) { + if (cmd->args[i].type) + return i + 1; + } + return 0; +} + void mp_cmd_dump(struct mp_log *log, int msgl, char *header, struct mp_cmd *cmd) { if (!mp_msg_test(log, msgl)) @@ -555,7 +564,9 @@ void mp_cmd_dump(struct mp_log *log, int msgl, char *header, struct mp_cmd *cmd) return; } mp_msg(log, msgl, "%s, flags=%d, args=[", cmd->name, cmd->flags); + int argc = get_arg_count(cmd->def); for (int n = 0; n < cmd->nargs; n++) { + const char *argname = cmd->def->args[MPMIN(n, argc - 1)].name; char *s = m_option_print(cmd->args[n].type, &cmd->args[n].v); if (n) mp_msg(log, msgl, ", "); @@ -565,7 +576,7 @@ void mp_cmd_dump(struct mp_log *log, int msgl, char *header, struct mp_cmd *cmd) }; char *esc = NULL; json_write(&esc, &node); - mp_msg(log, msgl, "%s", esc ? esc : "<error>"); + mp_msg(log, msgl, "%s=%s", argname, esc ? esc : "<error>"); talloc_free(esc); talloc_free(s); } |