From 6e0e39b79f1a024fb8dd98101c5fc63a8ec0d8ed Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 22 Nov 2019 18:21:33 +0100 Subject: 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. --- input/cmd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'input/cmd.c') diff --git a/input/cmd.c b/input/cmd.c index 91d171ccaa..093e97dbb4 100644 --- a/input/cmd.c +++ b/input/cmd.c @@ -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); -- cgit v1.2.3