receive-pack: simplify run_update_post_hook()
Instead of counting the arguments to see if there are any and then building the full command use a single loop and add the hook command just before the first argument. This reduces duplication and overall code size. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c3808ca698
commit
dce96c41f9
@ -1118,25 +1118,22 @@ static const char *update(struct command *cmd, struct shallow_info *si)
|
||||
static void run_update_post_hook(struct command *commands)
|
||||
{
|
||||
struct command *cmd;
|
||||
int argc;
|
||||
struct child_process proc = CHILD_PROCESS_INIT;
|
||||
const char *hook;
|
||||
|
||||
hook = find_hook("post-update");
|
||||
for (argc = 0, cmd = commands; cmd; cmd = cmd->next) {
|
||||
if (cmd->error_string || cmd->did_not_exist)
|
||||
continue;
|
||||
argc++;
|
||||
}
|
||||
if (!argc || !hook)
|
||||
if (!hook)
|
||||
return;
|
||||
|
||||
argv_array_push(&proc.args, hook);
|
||||
for (cmd = commands; cmd; cmd = cmd->next) {
|
||||
if (cmd->error_string || cmd->did_not_exist)
|
||||
continue;
|
||||
if (!proc.args.argc)
|
||||
argv_array_push(&proc.args, hook);
|
||||
argv_array_push(&proc.args, cmd->ref_name);
|
||||
}
|
||||
if (!proc.args.argc)
|
||||
return;
|
||||
|
||||
proc.no_stdin = 1;
|
||||
proc.stdout_to_stderr = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user