From afbdba391eaf3c473eff8f12437ff510935b520f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 26 Aug 2020 15:25:03 -0700 Subject: run_command: teach API users to use embedded 'args' more The child_process structure has an embedded strvec for formulating the command line argument list these days, but code that predates the wide use of it prepared a separate char *argv[] array and manually set the child_process.argv pointer point at it. Teach these old-style code to lose the separate argv[] array. Signed-off-by: Junio C Hamano --- convert.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'convert.c') diff --git a/convert.c b/convert.c index 572449825c..8e6c292421 100644 --- a/convert.c +++ b/convert.c @@ -638,7 +638,6 @@ static int filter_buffer_or_fd(int in, int out, void *data) struct child_process child_process = CHILD_PROCESS_INIT; struct filter_params *params = (struct filter_params *)data; int write_err, status; - const char *argv[] = { NULL, NULL }; /* apply % substitution to cmd */ struct strbuf cmd = STRBUF_INIT; @@ -656,9 +655,7 @@ static int filter_buffer_or_fd(int in, int out, void *data) strbuf_expand(&cmd, params->cmd, strbuf_expand_dict_cb, &dict); strbuf_release(&path); - argv[0] = cmd.buf; - - child_process.argv = argv; + strvec_push(&child_process.args, cmd.buf); child_process.use_shell = 1; child_process.in = -1; child_process.out = out; -- cgit v1.2.3