summaryrefslogtreecommitdiff
path: root/expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'expr.c')
-rw-r--r--expr.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/expr.c b/expr.c
index 5e73e9f0..1462c102 100644
--- a/expr.c
+++ b/expr.c
@@ -839,7 +839,9 @@ exp2 ()
(curtok == MOD))
{
int op = curtok;
+ char *stp, *sltp;
+ stp = tp;
readtok ();
val2 = exppower ();
@@ -848,7 +850,14 @@ exp2 ()
if (((op == DIV) || (op == MOD)) && (val2 == 0))
{
if (noeval == 0)
- evalerror (_("division by 0"));
+ {
+ sltp = lasttp;
+ lasttp = stp;
+ while (lasttp && *lasttp && whitespace (*lasttp))
+ lasttp++;
+ evalerror (_("division by 0"));
+ lasttp = sltp;
+ }
else
val2 = 1;
}