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

[PATCH] Allow environment variables to be unset in the processes started by run_command

From
Alex Riesen <raa.lkml@gmail.com>
Date
May 22, 2007, 21:49 UTC
Message-ID
<20070522214921.GG30871@steel.home>
In-Reply-To
<20070522214847.GF30871@steel.home>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 run-command.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/run-command.c b/run-command.c
index 605aa1e..3a5f737 100644
--- a/run-command.c
+++ b/run-command.c
@@ -77,8 +77,18 @@ int start_command(struct child_process *cmd)
 			die("exec %s: cd to %s failed (%s)", cmd->argv[0],
 			    cmd->dir, strerror(errno));
 		if (cmd->env) {
-			for (; *cmd->env; cmd->env++)
-				putenv((char*)*cmd->env);
+			char *unsetbuf = NULL;
+			for (; *cmd->env; cmd->env++) {
+				size_t n = strlen(*cmd->env);
+				if (n && (*cmd->env)[n-1] == '=') {
+					unsetbuf = xrealloc(unsetbuf, n);
+					memcpy(unsetbuf, *cmd->env, --n);
+					unsetbuf[n] = '\0';
+					unsetenv(unsetbuf);
+				} else
+					putenv((char*)*cmd->env);
+			}
+			free(unsetbuf);
 		}
 		if (cmd->git_cmd) {
 			execv_git_cmd(cmd->argv);
-- 
1.5.2.51.g16099
Previous: Alex RiesenNext: Junio C Hamano
Message 17 of 20 in “allow commands to be executed in submodules”
  1. allow commands to be executed in submodulesMartin Waitz, May 20, 2007
  2. Alex RiesenMay 20, 2007
  3. Junio C HamanoMay 20, 2007
  4. Martin WaitzMay 20, 2007
  5. Alex RiesenMay 20, 2007
  6. Martin WaitzMay 20, 2007
  7. Add ability to specify environment extension to run_commandAlex Riesen, May 21, 2007
  8. Junio C HamanoMay 21, 2007
  9. Martin WaitzMay 22, 2007
  10. Junio C HamanoMay 22, 2007
  11. Shawn O. PearceMay 22, 2007
  12. Sven VerdoolaegeMay 22, 2007
  13. Alex RiesenMay 22, 2007
  14. Alex RiesenMay 22, 2007
  15. Add run_command_v_opt_cd: chdir into a directory before execAlex Riesen, May 22, 2007
  16. Add ability to specify environment extension to run_commandAlex Riesen, May 22, 2007
  17. Allow environment variables to be unset in the processes started by run_commandAlex Riesen, May 22, 2007
  18. Junio C HamanoMay 22, 2007
  19. Alex RiesenMay 22, 2007
  20. Allow environment variables to be unset in the processes started by run_commandAlex Riesen, May 23, 2007

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.