From 05eb5d93b193379d8a4671f7a7121c4fc73ffeee Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Wed, 15 Mar 2000 09:36:27 +0000 Subject: zsh-workers/10143 --- Src/init.c | 3 +++ Src/math.c | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Src/init.c b/Src/init.c index 288f95f1b..e59ff16a5 100644 --- a/Src/init.c +++ b/Src/init.c @@ -568,6 +568,9 @@ setupvals(void) init_eprog(); + zero_mnumber.type = MN_INTEGER; + zero_mnumber.u.l = 0; + getkeyptr = NULL; lineno = 1; diff --git a/Src/math.c b/Src/math.c index 7eec82e63..5b2357c74 100644 --- a/Src/math.c +++ b/Src/math.c @@ -37,6 +37,11 @@ /**/ int noeval; +/* integer zero */ + +/**/ +mnumber zero_mnumber; + /* last input base we used */ /**/ @@ -1018,13 +1023,13 @@ mathparse(int pc) push(yyval, NULL); break; case ID: - push(getnparam(yylval), yylval); + push((noeval ? zero_mnumber : getnparam(yylval)), yylval); break; case CID: - push(getcvar(yylval), yylval); + push((noeval ? zero_mnumber : getcvar(yylval)), yylval); break; case FUNC: - push(callmathfunc(yylval), yylval); + push((noeval ? zero_mnumber : callmathfunc(yylval)), yylval); break; case M_INPAR: mathparse(TOPPREC); -- cgit 1.4.1