From 057ab54b6646fbdabc8c953299f218081ff67456 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 20 Mar 2019 14:03:28 -0400 Subject: completion: fix multiple command removals Commit 6532f3740b ("completion: allow to customize the completable command list", 2018-05-20) tried to allow multiple space-separated entries in completion.commands. To do this, it copies each parsed token into a strbuf so that the result is NUL-terminated. However, for tokens starting with "-", it accidentally passes the original non-terminated string, meaning that only the final one worked. Switch to using the strbuf. Reported-by: Todd Zullinger Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- help.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'help.c') diff --git a/help.c b/help.c index fac7e421d0..a9e451f2ee 100644 --- a/help.c +++ b/help.c @@ -386,8 +386,8 @@ void list_cmds_by_config(struct string_list *list) const char *p = strchrnul(cmd_list, ' '); strbuf_add(&sb, cmd_list, p - cmd_list); - if (*cmd_list == '-') - string_list_remove(list, cmd_list + 1, 0); + if (sb.buf[0] == '-') + string_list_remove(list, sb.buf + 1, 0); else string_list_insert(list, sb.buf); strbuf_release(&sb); -- cgit v1.2.3