about summary refs log tree commit diff
path: root/Src/params.c
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2004-03-30 16:35:30 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2004-03-30 16:35:30 +0000
commit3023ddf132825bb29c94fbd0860b7785887cc5c5 (patch)
tree1b16fe2675ae87dbe8baf805cb40bcdcbc7f1fb6 /Src/params.c
parent43513b428879d3c0ac0b3b101df5356a0788bb01 (diff)
downloadzsh-3023ddf132825bb29c94fbd0860b7785887cc5c5.tar.gz
zsh-3023ddf132825bb29c94fbd0860b7785887cc5c5.tar.xz
zsh-3023ddf132825bb29c94fbd0860b7785887cc5c5.zip
19707: negative index into arrays should return scalar and not one element array
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c
index 49c3a93d7..134355173 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -1272,13 +1272,14 @@ getindex(char **pptr, Value v, int dq)
 	    } else {
 		end = we ? we : start;
 	    }
+	    if (start != end) com = 1;
 	    if (start > 0)
 		start--;
 	    else if (start == 0 && end == 0)
 		end++;
 	    if (s == tbrack) {
 		s++;
-		if (v->isarr && start == end-1 && !com &&
+		if (v->isarr && !com &&
 		    (!(v->isarr & SCANPM_MATCHMANY) ||
 		     !(v->isarr & (SCANPM_MATCHKEY | SCANPM_MATCHVAL |
 				   SCANPM_KEYMATCH))))