about summary refs log tree commit diff
path: root/Src/builtin.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-06-08 08:51:03 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-06-08 08:51:03 +0000
commit7850fc5a2cbdbcec1da405f4d3eba65abf3293f8 (patch)
tree56f39bd6ee2e714b6d27d96c9cbc7e8260c2b098 /Src/builtin.c
parent4c0f2dfe8fdae3b3faa883e4b276587c263ab460 (diff)
downloadzsh-7850fc5a2cbdbcec1da405f4d3eba65abf3293f8.tar.gz
zsh-7850fc5a2cbdbcec1da405f4d3eba65abf3293f8.tar.xz
zsh-7850fc5a2cbdbcec1da405f4d3eba65abf3293f8.zip
28006: make zgetcwd() fall back to pwd,
only use "." if setting pwd
Diffstat (limited to 'Src/builtin.c')
-rw-r--r--Src/builtin.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index e9e8e3bff..6dbd1597f 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -805,6 +805,7 @@ bin_cd(char *nam, char **argv, Options ops, int func)
     if (stat(unmeta(pwd), &st1) < 0) {
 	setjobpwd();
 	zsfree(pwd);
+	pwd = NULL;
 	pwd = metafy(zgetcwd(), -1, META_DUP);
     } else if (stat(".", &st2) < 0) {
 	if (chdir(unmeta(pwd)) < 0)
@@ -813,6 +814,7 @@ bin_cd(char *nam, char **argv, Options ops, int func)
 	if (chasinglinks) {
 	    setjobpwd();
 	    zsfree(pwd);
+	    pwd = NULL;
 	    pwd = metafy(zgetcwd(), -1, META_DUP);
 	} else if (chdir(unmeta(pwd)) < 0)
 	    zwarn("unable to chdir(%s): %e", pwd, errno);