about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
commit7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (patch)
tree9bb85bcd27410e1b752c8550f487165d71dc8aca /Src/subst.c
parentb09922bb063ddf44c7850b182fec4795fbe1ae90 (diff)
downloadzsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.gz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.xz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.zip
zsh-3.1.5-pws-25 dot-zsh-199907031715
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/Src/subst.c b/Src/subst.c
index ab6bf84fb..18d815404 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -1328,10 +1328,15 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 			else
 			    t = aval;
 		    } else if (!isarr) {
-			arr[0] = val;
-			arr[1] = NULL;
+			if (!*val && arrasg > 1) {
+			    arr[0] = NULL;
+			    l = 0;
+			} else {
+			    arr[0] = val;
+			    arr[1] = NULL;
+			    l = 1;
+			}
 			t = aval = arr;
-			l = 1;
 		    } else
 			l = arrlen(aval), t = aval;
 		    p = a = zalloc(sizeof(char *) * (l + 1));