about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2016-09-07 11:48:55 +0100
committerPeter Stephenson <pws@zsh.org>2016-09-07 11:50:00 +0100
commitc47c35caccfdd43db76668998382a67e1ad30054 (patch)
tree6bcf823cd083ee5221e815288c174d2707bf1234
parent8d188728171dfe764562b7d4e81fbfdc212897e4 (diff)
downloadzsh-c47c35caccfdd43db76668998382a67e1ad30054.tar.gz
zsh-c47c35caccfdd43db76668998382a67e1ad30054.tar.xz
zsh-c47c35caccfdd43db76668998382a67e1ad30054.zip
39218: Fix module feature enables with math functions.
If they were present parameters were miscounted.
-rw-r--r--ChangeLog3
-rw-r--r--Src/module.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fbff070d6..148536961 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2016-09-07  Peter Stephenson  <p.stephenson@samsung.com>
 
+	* 39218: Src/module.c: fix feature enables with math functions
+	present.  This caused parameters to be miscounted.
+
 	* 39217: Src/Modules/system.mdd: adapt zsh.mdd to avoid problems
 	with GCC preprocessor in error names.
 
diff --git a/Src/module.c b/Src/module.c
index 368254c29..46a7d7746 100644
--- a/Src/module.c
+++ b/Src/module.c
@@ -3350,6 +3350,8 @@ setfeatureenables(Module m, Features f, int *e)
     if (f->mf_size) {
 	if (setmathfuncs(m->node.nam, f->mf_list, f->mf_size, e))
 	    ret = 1;
+	if (e)
+	    e += f->mf_size;
     }
     if (f->pd_size) {
 	if (setparamdefs(m->node.nam, f->pd_list, f->pd_size, e))