diff options
author | dgp <dgp@users.sourceforge.net> | 2006-10-30 16:30:34 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2006-10-30 16:30:34 (GMT) |
commit | 1f4e15f7d1e456995a619f7540eca11f31d5f6ed (patch) | |
tree | 480083628a026836117223a7fee5b8c5671db116 /generic/tclExecute.c | |
parent | 6cedc6f77615111061dbfa644e31fa5caae30ca4 (diff) | |
download | tcl-1f4e15f7d1e456995a619f7540eca11f31d5f6ed.zip tcl-1f4e15f7d1e456995a619f7540eca11f31d5f6ed.tar.gz tcl-1f4e15f7d1e456995a619f7540eca11f31d5f6ed.tar.bz2 |
* generic/tclExecute.c (INST_MOD): Corrected improper testing of
* tests/expr.test: the sign of bignums when applying Tcl's
division rules. Thanks to Peter Spjuth. [Bug 1585704]
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 660be98..b33e6b2b 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.246 2006/09/28 20:06:42 dgp Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.247 2006/10/30 16:30:35 dgp Exp $ */ #include "tclInt.h" @@ -3796,7 +3796,7 @@ TclExecuteByteCode( } /* TODO: internals intrusion */ - if ((l1 > 0) ^ big2.sign) { + if ((l1 > 0) ^ (big2.sign == MP_ZPOS)) { /* Arguments are opposite sign; remainder is sum */ mp_int big1; TclBNInitBignumFromLong(&big1, l1); @@ -3844,7 +3844,7 @@ TclExecuteByteCode( } /* TODO: internals intrusion */ - if ((w1 > ((Tcl_WideInt) 0)) ^ big2.sign) { + if ((w1 > ((Tcl_WideInt) 0)) ^ (big2.sign == MP_ZPOS)) { /* Arguments are opposite sign; remainder is sum */ mp_int big1; TclBNInitBignumFromWideInt(&big1, w1); |