X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=exec_cmd.c;h=3996bce33fe11b8f0bae120fabd40a74c66de342;hb=c4431d380c20b4c05c373980c600798fc02e79b0;hp=c1539d12ce9e350811b5b110206f5577a151e8ef;hpb=0a8f4f0020cb35095005852c0797f0b90e9ebb74;p=git.git diff --git a/exec_cmd.c b/exec_cmd.c index c1539d12c..3996bce33 100644 --- a/exec_cmd.c +++ b/exec_cmd.c @@ -1,10 +1,11 @@ #include "cache.h" #include "exec_cmd.h" +#include "quote.h" #define MAX_ARGS 32 extern char **environ; static const char *builtin_exec_path = GIT_EXEC_PATH; -static const char *current_exec_path = NULL; +static const char *current_exec_path; void git_set_exec_path(const char *exec_path) { @@ -20,7 +21,7 @@ const char *git_exec_path(void) if (current_exec_path) return current_exec_path; - env = getenv("GIT_EXEC_PATH"); + env = getenv(EXEC_PATH_ENVIRONMENT); if (env && *env) { return env; } @@ -34,7 +35,7 @@ int execv_git_cmd(const char **argv) char git_command[PATH_MAX + 1]; int i; const char *paths[] = { current_exec_path, - getenv("GIT_EXEC_PATH"), + getenv(EXEC_PATH_ENVIRONMENT), builtin_exec_path }; for (i = 0; i < ARRAY_SIZE(paths); ++i) { @@ -96,9 +97,13 @@ int execv_git_cmd(const char **argv) tmp = argv[0]; argv[0] = git_command; + trace_argv_printf(argv, -1, "trace: exec:"); + /* execve() can only ever return if it fails */ execve(git_command, (char **)argv, environ); + trace_printf("trace: exec failed: %s\n", strerror(errno)); + argv[0] = tmp; } return -1;