Fix random segfaults in pack-objects.
[gitweb.git] / exec_cmd.c
index e30936d72cd48822b43ec7568d5fcafc76a7659e..3996bce33fe11b8f0bae120fabd40a74c66de342 100644 (file)
@@ -21,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;
        }
@@ -35,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) {
@@ -97,26 +97,12 @@ int execv_git_cmd(const char **argv)
                tmp = argv[0];
                argv[0] = git_command;
 
-               if (getenv("GIT_TRACE")) {
-                       const char **p = argv;
-                       fputs("trace: exec:", stderr);
-                       while (*p) {
-                               fputc(' ', stderr);
-                               sq_quote_print(stderr, *p);
-                               ++p;
-                       }
-                       putc('\n', stderr);
-                       fflush(stderr);
-               }
+               trace_argv_printf(argv, -1, "trace: exec:");
 
                /* execve() can only ever return if it fails */
                execve(git_command, (char **)argv, environ);
 
-               if (getenv("GIT_TRACE")) {
-                       fprintf(stderr, "trace: exec failed: %s\n",
-                               strerror(errno));
-                       fflush(stderr);
-               }
+               trace_printf("trace: exec failed: %s\n", strerror(errno));
 
                argv[0] = tmp;
        }