diff --git a/expr.c b/expr.c index 98d75b6..f50a27e 100644 --- a/expr.c +++ b/expr.c @@ -815,6 +815,11 @@ exp2 () val2 = 1; } + if ((op == DIV) && (val2 == -1)) + return (-val1); + else if ((op == MOD) && (val2 == -1)) + return (0); + if (op == MUL) val1 *= val2; else if (op == DIV)