about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-11-20 03:21:01 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-11-20 03:21:01 +0000
commitcd1b74c3036afb2fc115538e130fecbfa6259ff4 (patch)
tree1f928410dc1dbee6d95fa588c1627db12d91415d /Src
parente2bcc2185f03ecc12924001454a7bbe887f06e0b (diff)
downloadzsh-cd1b74c3036afb2fc115538e130fecbfa6259ff4.tar.gz
zsh-cd1b74c3036afb2fc115538e130fecbfa6259ff4.tar.xz
zsh-cd1b74c3036afb2fc115538e130fecbfa6259ff4.zip
Merge of 23696: assignment to negative subscripts in scalars before the start was broken; now adds at start.
Diffstat (limited to 'Src')
-rw-r--r--Src/params.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c
index af5c9d906..3a185169e 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -1726,8 +1726,11 @@ setstrvalue(Value v, char *val)
 	    }
 	    if (v->start > zlen)
 		v->start = zlen;
-	    if (v->end < 0)
+	    if (v->end < 0) {
 		v->end += zlen + 1;
+		if (v->end < 0)
+		    v->end = 0;
+	    }
 	    else if (v->end > zlen)
 		v->end = zlen;
 	    x = (char *) zalloc(v->start + strlen(val) + zlen - v->end + 1);