summaryrefslogtreecommitdiff
path: root/run-command.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2014-07-16 23:57:47 +0200
committerJunio C Hamano <gitster@pobox.com>2014-07-17 15:09:24 -0700
commitd1d094564ac818a79465f249ca765ab7ef97d443 (patch)
tree3cf09b4716b859d35fa285330b3b03d2150bf44d /run-command.c
parent4bbaa1eb6fb4a520069e53ec5afa977a316a5d36 (diff)
downloadgit-d1d094564ac818a79465f249ca765ab7ef97d443.tar.gz
run-command: use internal argv_array of struct child_process in run_hook_ve()
Use the existing argv_array member instead of providing our own. This way we don't have to initialize or clean it up explicitly. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'run-command.c')
-rw-r--r--run-command.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/run-command.c b/run-command.c
index be07d4ad33..576dfeaa3f 100644
--- a/run-command.c
+++ b/run-command.c
@@ -770,28 +770,21 @@ char *find_hook(const char *name)
int run_hook_ve(const char *const *env, const char *name, va_list args)
{
struct child_process hook;
- struct argv_array argv = ARGV_ARRAY_INIT;
const char *p;
- int ret;
p = find_hook(name);
if (!p)
return 0;
- argv_array_push(&argv, p);
-
- while ((p = va_arg(args, const char *)))
- argv_array_push(&argv, p);
-
memset(&hook, 0, sizeof(hook));
- hook.argv = argv.argv;
+ argv_array_push(&hook.args, p);
+ while ((p = va_arg(args, const char *)))
+ argv_array_push(&hook.args, p);
hook.env = env;
hook.no_stdin = 1;
hook.stdout_to_stderr = 1;
- ret = run_command(&hook);
- argv_array_clear(&argv);
- return ret;
+ return run_command(&hook);
}
int run_hook_le(const char *const *env, const char *name, ...)