18015: empty math parse acts like zero

This commit is contained in:
Peter Stephenson 2002-12-18 18:07:49 +00:00
parent 9a8dfbb7b5
commit 99c9b50bb4
2 changed files with 6 additions and 1 deletions

View file

@ -1,5 +1,7 @@
2002-12-18 Peter Stephenson <pws@csr.com>
* 18015: Src/math.c: empty math parse e.g. $(( )) acts like a zero.
* 18013: Src/builtin.c, Src/exec.c: let and (( ... )) should
return zero status on floating point only if the value compares
equal to 0 as a floating point number.

View file

@ -961,7 +961,7 @@ mathevall(char *s, int prek, char **ep)
stack[0].val.u.l = 0;
mathparse(prek);
*ep = ptr;
DPUTS(!errflag && sp,
DPUTS(!errflag && sp > 0,
"BUG: math: wallabies roaming too freely in outback");
if (errflag) {
@ -1084,6 +1084,9 @@ mathparse(int pc)
if (errflag)
return;
mtok = zzlex();
/* Handle empty input */
if (pc == TOPPREC && mtok == EOI)
return;
checkunary(mtok, optr);
while (prec[mtok] <= pc) {
if (errflag)