about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2003-04-23 18:12:58 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2003-04-23 18:12:58 +0000
commite127c8c462b3320ac0b78f867e2c6f183197ac72 (patch)
treed1075c53b928c587f5cf866bbc274181084a0105
parent7b82c59185fd8ca64394cc74fc7dbb3e82fde84f (diff)
downloadzsh-e127c8c462b3320ac0b78f867e2c6f183197ac72.tar.gz
zsh-e127c8c462b3320ac0b78f867e2c6f183197ac72.tar.xz
zsh-e127c8c462b3320ac0b78f867e2c6f183197ac72.zip
IKEGAMI Tsutomu: sf bug 722366: metafy pwd when read from $PWD
-rw-r--r--ChangeLog5
-rw-r--r--Src/init.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index adce11f35..d7265650c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-23  Peter Stephenson  <pws@pwstephenson.fsnet.co.uk>
+
+	* IKEGAMI Tsutomu: SourceForge bug 722366: initialisation of pwd
+	from PWD in environment didn't metafy.
+
 2003-04-18  Oliver Kiddle  <opk@zsh.org>
 
 	* unposted: Completion/Zsh/Context/_tilde: fix bug where 0 was
diff --git a/Src/init.c b/Src/init.c
index 645897982..d2f8ec591 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -753,7 +753,8 @@ setupvals(void)
      * initialize `PWD' from `HOME'      */
     if (ispwd(home))
 	pwd = ztrdup(home);
-    else if ((ptr = zgetenv("PWD")) && ispwd(ptr))
+    else if ((ptr = zgetenv("PWD")) && (strlen(ptr) < PATH_MAX) &&
+	     (ptr = metafy(ptr, -1, META_STATIC), ispwd(ptr)))
 	pwd = ztrdup(ptr);
     else
 	pwd = metafy(zgetcwd(), -1, META_DUP);