diff options
Diffstat (limited to 'generic/tclExecute.c')
| -rw-r--r-- | generic/tclExecute.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 7d3d6bd..0ecdbfa 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -8161,16 +8161,13 @@ ExecuteExtendedBinaryMathOp( if (err == MP_OKAY) { err = mp_div(&big1, &big2, &bigResult, &bigRemainder); } - if (!mp_iszero(&bigRemainder) && (bigRemainder.sign != big2.sign)) { + if ((err == MP_OKAY) && !mp_iszero(&bigRemainder) && (bigRemainder.sign != big2.sign)) { /* * Convert to Tcl's integer division rules. */ - err = mp_sub_d(&bigResult, 1, &bigResult); - if (err == MP_OKAY) { - err = mp_add(&bigRemainder, &big2, &bigRemainder); - } - if (err != MP_OKAY) { + if ((mp_sub_d(&bigResult, 1, &bigResult) != MP_OKAY) + || (mp_add(&bigRemainder, &big2, &bigRemainder) != MP_OKAY)) { return OUT_OF_MEMORY; } } |
