bug fix. Didn't check for division by zero
This commit is contained in:
@@ -330,7 +330,14 @@ static Object *do_math_op(Object *lop, Object *rop, Opcode opcode, Heap *heap, E
|
||||
case OPCODE_ADD: (z) = (x) + (y); break; \
|
||||
case OPCODE_SUB: (z) = (x) - (y); break; \
|
||||
case OPCODE_MUL: (z) = (x) * (y); break; \
|
||||
case OPCODE_DIV: (z) = (x) / (y); break; \
|
||||
case OPCODE_DIV: \
|
||||
if((y) == 0) \
|
||||
{ \
|
||||
Error_Report(error, 0, "Division by zero"); \
|
||||
return NULL; \
|
||||
} \
|
||||
(z) = (x) / (y); \
|
||||
break; \
|
||||
default: assert(0); break; \
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user