about summary refs log tree commit diff
path: root/Src/prompt.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2004-07-29 11:45:53 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2004-07-29 11:45:53 +0000
commite1d8ca1d70053e44c3e4950ceafe3f07e6e67d0d (patch)
tree41cb550a85746d904220b68b11f0b35432e12735 /Src/prompt.c
parent241aa1d40d31dcab9b7f108939f220fb56b2480d (diff)
downloadzsh-e1d8ca1d70053e44c3e4950ceafe3f07e6e67d0d.tar.gz
zsh-e1d8ca1d70053e44c3e4950ceafe3f07e6e67d0d.tar.xz
zsh-e1d8ca1d70053e44c3e4950ceafe3f07e6e67d0d.zip
20208: ternary path codes in prompt treat / as zero elements
Diffstat (limited to 'Src/prompt.c')
-rw-r--r--Src/prompt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/prompt.c b/Src/prompt.c
index 56d6a76fd..3b16a8e44 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -244,9 +244,12 @@ putpromptchar(int doprint, int endchar)
 		    if ((nd = finddir(ss))) {
 			arg--;
 			ss += strlen(nd->dir);
-		    }
+		    } /*FALLTHROUGH*/
 		case '/':
 		case 'C':
+		    /* `/' gives 0, `/any' gives 1, etc. */
+		    if (*ss++ == '/' && *ss)
+			arg--;
 		    for (; *ss; ss++)
 			if (*ss == '/')
 			    arg--;