about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2004-05-21 11:19:30 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2004-05-21 11:19:30 +0000
commit665b0950c66e34f687ec2e6f02021b57499daead (patch)
treebb959c397a49bcdb4df231373e06066e24d1dfe9 /Src
parentac3bedf522be2b9f0b9e31da1deca4a6835bc04e (diff)
downloadzsh-665b0950c66e34f687ec2e6f02021b57499daead.tar.gz
zsh-665b0950c66e34f687ec2e6f02021b57499daead.tar.xz
zsh-665b0950c66e34f687ec2e6f02021b57499daead.zip
19971: Fix environment nastiness in zexecve()
Diffstat (limited to 'Src')
-rw-r--r--Src/exec.c7
-rw-r--r--Src/params.c3
2 files changed, 3 insertions, 7 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 1bc461ffa..fe1415845 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -352,18 +352,13 @@ zexecve(char *pth, char **argv)
     for (eep = argv; *eep; eep++)
 	if (*eep != pth)
 	    unmetafy(*eep, NULL);
-    for (eep = environ; *eep; eep++)
-	if (**eep == '_' && (*eep)[1] == '=')
-	    break;
     buf[0] = '_';
     buf[1] = '=';
     if (*pth == '/')
 	strcpy(buf + 2, pth);
     else
 	sprintf(buf + 2, "%s/%s", pwd, pth);
-    if (!*eep)
-	eep[1] = NULL;
-    *eep = buf;
+    zputenv(buf);
     closedumps();
     execve(pth, argv, environ);
 
diff --git a/Src/params.c b/Src/params.c
index 26ff2c566..4f1d08b92 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -3297,7 +3297,8 @@ arrfixenv(char *s, char **t)
 }
 
 
-static int
+/**/
+int
 zputenv(char *str)
 {
 #ifdef HAVE_PUTENV