summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exec_cmd.c7
-rw-r--r--exec_cmd.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/exec_cmd.c b/exec_cmd.c
index 0ed768ddc0..ce6741eb68 100644
--- a/exec_cmd.c
+++ b/exec_cmd.c
@@ -78,7 +78,7 @@ void setup_path(void)
strbuf_release(&new_path);
}
-int execv_git_cmd(const char **argv)
+const char **prepare_git_cmd(const char **argv)
{
int argc;
const char **nargv;
@@ -91,6 +91,11 @@ int execv_git_cmd(const char **argv)
for (argc = 0; argv[argc]; argc++)
nargv[argc + 1] = argv[argc];
nargv[argc + 1] = NULL;
+ return nargv;
+}
+
+int execv_git_cmd(const char **argv) {
+ const char **nargv = prepare_git_cmd(argv);
trace_argv_printf(nargv, "trace: exec:");
/* execvp() can only ever return if it fails */
diff --git a/exec_cmd.h b/exec_cmd.h
index 0c46cd5636..594f961387 100644
--- a/exec_cmd.h
+++ b/exec_cmd.h
@@ -5,6 +5,7 @@ extern void git_set_argv_exec_path(const char *exec_path);
extern void git_set_argv0_path(const char *path);
extern const char* git_exec_path(void);
extern void setup_path(void);
+extern const char **prepare_git_cmd(const char **argv);
extern int execv_git_cmd(const char **argv); /* NULL terminated */
extern int execl_git_cmd(const char *cmd, ...);
extern const char *system_path(const char *path);