diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-09-03 12:37:03 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-09-03 12:37:04 -0700 |
commit | 3f02c0ad360d96e8dbba92f97b42ebbaa4319db1 (patch) | |
tree | 8bf47ece00982d35cc9f4e5399dbb363f767e95f | |
parent | Merge branch 'jc/undash-in-tree-git-callers' (diff) | |
parent | run_command: teach API users to use embedded 'args' more (diff) | |
download | tgif-3f02c0ad360d96e8dbba92f97b42ebbaa4319db1.tar.xz |
Merge branch 'jc/run-command-use-embedded-args'
Various callers of run_command API has been modernized.
* jc/run-command-use-embedded-args:
run_command: teach API users to use embedded 'args' more
-rw-r--r-- | convert.c | 5 | ||||
-rw-r--r-- | credential.c | 4 | ||||
-rw-r--r-- | submodule.c | 13 | ||||
-rw-r--r-- | trailer.c | 4 |
4 files changed, 7 insertions, 19 deletions
@@ -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; diff --git a/credential.c b/credential.c index d8d226b97e..efc29dc5e1 100644 --- a/credential.c +++ b/credential.c @@ -274,11 +274,9 @@ static int run_credential_helper(struct credential *c, int want_output) { struct child_process helper = CHILD_PROCESS_INIT; - const char *argv[] = { NULL, NULL }; FILE *fp; - argv[0] = cmd; - helper.argv = argv; + strvec_push(&helper.args, cmd); helper.use_shell = 1; helper.in = -1; if (want_output) diff --git a/submodule.c b/submodule.c index d0b70ca536..3cbcf40dfc 100644 --- a/submodule.c +++ b/submodule.c @@ -1726,14 +1726,6 @@ unsigned is_submodule_modified(const char *path, int ignore_untracked) int submodule_uses_gitfile(const char *path) { struct child_process cp = CHILD_PROCESS_INIT; - const char *argv[] = { - "submodule", - "foreach", - "--quiet", - "--recursive", - "test -f .git", - NULL, - }; struct strbuf buf = STRBUF_INIT; const char *git_dir; @@ -1746,7 +1738,10 @@ int submodule_uses_gitfile(const char *path) strbuf_release(&buf); /* Now test that all nested submodules use a gitfile too */ - cp.argv = argv; + strvec_pushl(&cp.args, + "submodule", "foreach", "--quiet", "--recursive", + "test -f .git", NULL); + prepare_submodule_repo_env(&cp.env_array); cp.git_cmd = 1; cp.no_stdin = 1; @@ -221,15 +221,13 @@ static char *apply_command(const char *command, const char *arg) struct strbuf cmd = STRBUF_INIT; struct strbuf buf = STRBUF_INIT; struct child_process cp = CHILD_PROCESS_INIT; - const char *argv[] = {NULL, NULL}; char *result; strbuf_addstr(&cmd, command); if (arg) strbuf_replace(&cmd, TRAILER_ARG_STRING, arg); - argv[0] = cmd.buf; - cp.argv = argv; + strvec_push(&cp.args, cmd.buf); cp.env = local_repo_env; cp.no_stdin = 1; cp.use_shell = 1; |