Skip to contentSkip to conversation

run-command: use internal argv_array of struct child_process in run_hook_ve()

PATCH In review René Scharfe 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 run-command.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)
run-command.c +4 -11
index be07d4a..576dfea 100644
@@ -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, ...)
Signature · 1 line
2.0.0
#1 lore raw
Quoted 2 lines · René Scharfe

Use the existing argv_array member instead of providing our own. This way we don't have to initialize or clean it up explicitly.

Yay. Thanks for this cleanup (and all of the other recent ones; they all looked good to me).

-Peff