about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2011-11-28 09:48:22 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2011-11-28 09:48:22 +0000
commit79dd64749622cd08c7087e8170906a030e350824 (patch)
treedff7ba743cd39c3601a102a7d77fc48b1cec0cdf
parentef6bed07421893ef25abf3ad1dff52f6e207e73e (diff)
downloadzsh-79dd64749622cd08c7087e8170906a030e350824.tar.gz
zsh-79dd64749622cd08c7087e8170906a030e350824.tar.xz
zsh-79dd64749622cd08c7087e8170906a030e350824.zip
Ismail Dönmez: 29920: NO_EXEC problem with arithmetic substitution
-rw-r--r--ChangeLog7
-rw-r--r--Src/subst.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ae674ece..72bfe8e0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-28  Peter Stephenson  <pws@csr.com>
+
+	* Ismail Dönmez: 29920: Src/Subst.c: error with arithmetic
+	substitution with NO_EXEC.
+
 2011-11-25  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* unposted: Config/version.mk: 4.3.12-test-3.
@@ -15618,5 +15623,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5507 $
+* $Revision: 1.5508 $
 *****************************************************
diff --git a/Src/subst.c b/Src/subst.c
index 66e0bbe77..4e8ed721d 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -247,7 +247,10 @@ stringsubst(LinkList list, LinkNode node, int ssub, int asssub)
 	    if (endchar == Outpar && str2[1] == '(' && str[-2] == ')') {
 		/* Math substitution of the form $((...)) */
 		str[-2] = '\0';
-		str = arithsubst(str2 + 2, &str3, str);
+		if (isset(EXECOPT))
+		    str = arithsubst(str2 + 2, &str3, str);
+		else
+		    strncpy(str3, str2, 1);
 		setdata(node, (void *) str3);
 		continue;
 	    }