git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Refactor, adding prepare_git_cmd(const char **argv)

From
Steffen Prohaska <prohaska@zib.de>
Date
Jul 28, 2008, 05:50 UTC
Message-ID
<1217224228-31303-1-git-send-email-prohaska@zib.de>

prepare_git_cmd(const char **argv) adds a first entry "git" to the array argv. The new array is allocated on the heap. It's the caller's responsibility to release it with free(). The code was already present in execv_git_cmd() but could not be used from outside. Now it can also be called for preparing the command list in the MinGW codepath in run-command.c.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
---
 exec_cmd.c |    7 ++++++-
 exec_cmd.h |    1 +
 2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/exec_cmd.c b/exec_cmd.c
index 0ed768d..ce6741e 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 0c46cd5..594f961 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);
-- 
1.6.0.rc0.79.gb0320
Next: Steffen Prohaska
Message 1 of 11 in “Refactor, adding prepare_git_cmd(const char **argv)”
  1. 1/2 Refactor, adding prepare_git_cmd(const char **argv)Steffen Prohaska, Jul 28, 2008
  2. [Fundamental problem with relative system paths] [PATCH 2/2] run-command (Windows): Run dashless "git <cmd>"Steffen Prohaska, Jul 28, 2008
  3. Junio C HamanoJul 28, 2008
  4. Junio C HamanoJul 28, 2008
  5. Johannes SchindelinJul 28, 2008
  6. Johannes SixtJul 28, 2008
  7. Steffen ProhaskaJul 29, 2008
  8. 2/2 run-command (Windows): Run dashless "git <cmd>" (solves part of problem with system_path)Steffen Prohaska, Jul 29, 2008
  9. [FOR DEBUGGING] Stop installing BUILT_INSSteffen Prohaska, Jul 29, 2008
  10. Junio C HamanoJul 29, 2008
  11. Johannes SixtJul 29, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.