From e573857a033504f7918c4a2309151329820f115f Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 4 Oct 2017 09:18:51 +0100 Subject: 41802 (minor tweaks): use heap during shell function call. Replaces stack for more efficient memory management. Also fix debug message when FUNCNEST is increased. --- Src/parse.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Src/parse.c') diff --git a/Src/parse.c b/Src/parse.c index 6e0856bbc..5fe3ebd2c 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -2742,7 +2742,8 @@ freeeprog(Eprog p) DPUTS(p->nref < 0 && !(p->flags & EF_HEAP), "Real EPROG has nref < 0"); DPUTS(p->nref < -1, "Uninitialised EPROG nref"); #ifdef MAX_FUNCTION_DEPTH - DPUTS(p->nref > MAX_FUNCTION_DEPTH + 10, "Overlarge EPROG nref"); + DPUTS(zsh_funcnest >=0 && p->nref > zsh_funcnest + 10, + "Overlarge EPROG nref"); #endif if (p->nref > 0 && !--p->nref) { for (i = p->npats, pp = p->pats; i--; pp++) -- cgit v1.2.3