diff options
author | wm4 <wm4@nowhere> | 2013-05-18 12:56:22 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-05-18 17:45:55 +0200 |
commit | 58cc0f637f13d2eeeeb3c24aed4b72fc02a4cbc7 (patch) | |
tree | bd7d8844a73d647902b72b5a1c2fd5a998e9617d /core/input | |
parent | 3e6ec6dfa551740c4d52ede83a0cacba3ab59532 (diff) | |
download | mpv-58cc0f637f13d2eeeeb3c24aed4b72fc02a4cbc7.tar.bz2 mpv-58cc0f637f13d2eeeeb3c24aed4b72fc02a4cbc7.tar.xz |
input: do property expansion for all input command string arguments
Also add a "raw" prefix for commands, which prevents property expansion.
The idea is that if the commands are generated by a program, it doesn't
have to know whether the command expands properties or not.
Diffstat (limited to 'core/input')
-rw-r--r-- | core/input/input.c | 6 | ||||
-rw-r--r-- | core/input/input.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/input/input.c b/core/input/input.c index ebfd74a7ea..3861a6e8c0 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -790,6 +790,7 @@ mp_cmd_t *mp_input_parse_cmd(bstr str, const char *loc) { int pausing = 0; int on_osd = MP_ON_OSD_AUTO; + bool raw_args = false; struct mp_cmd *cmd = NULL; bstr start = str; void *tmp = talloc_new(NULL); @@ -829,6 +830,10 @@ mp_cmd_t *mp_input_parse_cmd(bstr str, const char *loc) on_osd = MP_ON_OSD_MSG | MP_ON_OSD_BAR; } else if (eat_token(&str, "osd-auto")) { // default + } else if (eat_token(&str, "raw")) { + raw_args = true; + } else if (eat_token(&str, "expand-properties")) { + // default } else { break; } @@ -851,6 +856,7 @@ mp_cmd_t *mp_input_parse_cmd(bstr str, const char *loc) *cmd = mp_cmds[cmd_idx]; cmd->pausing = pausing; cmd->on_osd = on_osd; + cmd->raw_args = raw_args; for (int i = 0; i < MP_CMD_MAX_ARGS; i++) { struct mp_cmd_arg *cmdarg = &cmd->args[i]; diff --git a/core/input/input.h b/core/input/input.h index 12823dd004..e09e080db1 100644 --- a/core/input/input.h +++ b/core/input/input.h @@ -137,6 +137,7 @@ typedef struct mp_cmd { struct mp_cmd_arg args[MP_CMD_MAX_ARGS]; int nargs; int pausing; + bool raw_args; enum mp_on_osd on_osd; bstr original; struct mp_cmd *queue_next; |