about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorPeter Stephenson <p.w.stephenson@ntlworld.com>2017-09-10 18:01:39 +0100
committerPeter Stephenson <p.w.stephenson@ntlworld.com>2017-09-10 18:01:39 +0100
commite44600d9aac905aea08050c7387d6effd52c8539 (patch)
treed1f9ff704a01a16941bd42d483996214d082d7ee /Src/subst.c
parent6401caa1836fcd0c0325423eb5a8eedb6c7400cd (diff)
downloadzsh-e44600d9aac905aea08050c7387d6effd52c8539.tar.gz
zsh-e44600d9aac905aea08050c7387d6effd52c8539.tar.xz
zsh-e44600d9aac905aea08050c7387d6effd52c8539.zip
41661: Need to remove tokens before using bufferwords() for (z)
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 5b1bf8988..5df2a8b2d 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -3747,11 +3747,15 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
 
 	if (isarr) {
 	    char **ap;
-	    for (ap = aval; *ap; ap++)
+	    for (ap = aval; *ap; ap++) {
+		untokenize(*ap);
 		list = bufferwords(list, *ap, NULL, shsplit);
+	    }
 	    isarr = 0;
-	} else
+	} else {
+	    untokenize(val);
 	    list = bufferwords(NULL, val, NULL, shsplit);
+	}
 
 	if (!list || !firstnode(list))
 	    val = dupstring("");