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>
This commit is contained in:
René Scharfe 2014-07-16 23:57:47 +02:00 коммит произвёл Junio C Hamano
Родитель 4bbaa1eb6f
Коммит d1d094564a
1 изменённых файлов: 4 добавлений и 11 удалений

Просмотреть файл

@ -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, ...)