diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 2000-03-15 09:36:27 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 2000-03-15 09:36:27 +0000 |
commit | 05eb5d93b193379d8a4671f7a7121c4fc73ffeee (patch) | |
tree | 5b974ef5b357b1325a6e24ee035e27abe64c5c81 /Src | |
parent | 53f0102525def32c358ed52e0a92ee976c1e393c (diff) | |
download | zsh-05eb5d93b193379d8a4671f7a7121c4fc73ffeee.tar.gz zsh-05eb5d93b193379d8a4671f7a7121c4fc73ffeee.tar.xz zsh-05eb5d93b193379d8a4671f7a7121c4fc73ffeee.zip |
zsh-workers/10143
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 3 | ||||
-rw-r--r-- | 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); |