mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
difftool: add env vars directly in run_file_diff()
Add the environment variables of the child process directly using strvec_push() instead of building an array out of them and then adding that using strvec_pushv(). The new code is shorter and avoids magic array index values and fragile array padding. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
786a3e4b8d
commit
36d900d2b0
1 changed files with 4 additions and 8 deletions
|
@ -674,19 +674,15 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
|
|||
static int run_file_diff(int prompt, const char *prefix,
|
||||
struct child_process *child)
|
||||
{
|
||||
const char *env[] = {
|
||||
"GIT_PAGER=", "GIT_EXTERNAL_DIFF=git-difftool--helper", NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
strvec_push(&child->env, "GIT_PAGER=");
|
||||
strvec_push(&child->env, "GIT_EXTERNAL_DIFF=git-difftool--helper");
|
||||
if (prompt > 0)
|
||||
env[2] = "GIT_DIFFTOOL_PROMPT=true";
|
||||
strvec_push(&child->env, "GIT_DIFFTOOL_PROMPT=true");
|
||||
else if (!prompt)
|
||||
env[2] = "GIT_DIFFTOOL_NO_PROMPT=true";
|
||||
strvec_push(&child->env, "GIT_DIFFTOOL_NO_PROMPT=true");
|
||||
|
||||
child->git_cmd = 1;
|
||||
child->dir = prefix;
|
||||
strvec_pushv(&child->env, env);
|
||||
|
||||
return run_command(child);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue