mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
input: change mp_cmd.original from bstr to cstr
No reason to have this as bstr, just makes everything more complex. Also clear mp_cmd.sender when it's copied. Otherwise it would be a dangling pointer. Apparently it's never set to non-NULL in this situation, but this is cleaner anyway.
This commit is contained in:
parent
dbb5dd7c33
commit
6e0e39b79f
@ -413,7 +413,7 @@ static struct mp_cmd *parse_cmd_str(struct mp_log *log, void *tmp,
|
||||
}
|
||||
|
||||
bstr orig = {ctx->start.start, ctx->str.start - ctx->start.start};
|
||||
cmd->original = bstrdup(cmd, bstr_strip(orig));
|
||||
cmd->original = bstrto0(cmd, bstr_strip(orig));
|
||||
|
||||
*str = ctx->str;
|
||||
return cmd;
|
||||
@ -449,7 +449,7 @@ mp_cmd_t *mp_input_parse_cmd_str(struct mp_log *log, bstr str, const char *loc)
|
||||
*list = (struct mp_cmd) {
|
||||
.name = (char *)mp_cmd_list.name,
|
||||
.def = &mp_cmd_list,
|
||||
.original = bstrdup(list, original),
|
||||
.original = bstrto0(list, original),
|
||||
};
|
||||
talloc_steal(list, cmd);
|
||||
struct mp_cmd_arg arg = {0};
|
||||
@ -509,7 +509,8 @@ mp_cmd_t *mp_cmd_clone(mp_cmd_t *cmd)
|
||||
ret->args[i].type = cmd->args[i].type;
|
||||
m_option_copy(ret->args[i].type, &ret->args[i].v, &cmd->args[i].v);
|
||||
}
|
||||
ret->original = bstrdup(ret, cmd->original);
|
||||
ret->original = talloc_strdup(ret, cmd->original);
|
||||
ret->sender = NULL;
|
||||
ret->key_name = talloc_strdup(ret, ret->key_name);
|
||||
ret->key_text = talloc_strdup(ret, ret->key_text);
|
||||
|
||||
|
@ -99,7 +99,7 @@ typedef struct mp_cmd {
|
||||
struct mp_cmd_arg *args;
|
||||
int nargs;
|
||||
int flags; // mp_cmd_flags bitfield
|
||||
bstr original;
|
||||
char *original;
|
||||
char *input_section;
|
||||
bool is_up_down : 1;
|
||||
bool is_up : 1;
|
||||
|
@ -282,8 +282,8 @@ static void append_bind_info(struct input_ctx *ictx, char **pmsg,
|
||||
char *msg = *pmsg;
|
||||
struct mp_cmd *cmd = mp_input_parse_cmd(ictx, bstr0(bind->cmd),
|
||||
bind->location);
|
||||
bstr stripped = cmd ? cmd->original : bstr0(bind->cmd);
|
||||
msg = talloc_asprintf_append(msg, " '%.*s'", BSTR_P(stripped));
|
||||
char *stripped = cmd ? cmd->original : bind->cmd;
|
||||
msg = talloc_asprintf_append(msg, " '%s'", stripped);
|
||||
if (!cmd)
|
||||
msg = talloc_asprintf_append(msg, " (invalid)");
|
||||
if (strcmp(bind->owner->section, "default") != 0)
|
||||
|
@ -4819,8 +4819,8 @@ static void cmd_add_cycle(void *p)
|
||||
|
||||
char *property = cmd->args[0].v.s;
|
||||
if (cmd->cmd->repeated && !check_property_autorepeat(property, mpctx)) {
|
||||
MP_VERBOSE(mpctx, "Dropping command '%.*s' from auto-repeated key.\n",
|
||||
BSTR_P(cmd->cmd->original));
|
||||
MP_VERBOSE(mpctx, "Dropping command '%s' from auto-repeated key.\n",
|
||||
cmd->cmd->original);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user