diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | bignum.c | 4 |
2 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Fri Oct 21 15:27:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> + + * bignum.c (bignew_1): convertion from `int' to `char' discards + upper bits, (ie. (char)0xff00 -> 0) so it's better to test if + nonzero and set 0 or 1 instead of simply casting ... as a flag usage. + (but I believe this won't cause actual bug in current implementation) + [ruby-dev:27055] + Thu Oct 20 09:37:15 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> * lib/mkmf.rb (create_makefile): Borland make seems not to allow @@ -46,7 +46,7 @@ bignew_1(klass, len, sign) { NEWOBJ(big, struct RBignum); OBJSETUP(big, klass, T_BIGNUM); - big->sign = (char)sign; + big->sign = sign?1:0; big->len = len; big->digits = ALLOC_N(BDIGIT, len); @@ -1088,7 +1088,7 @@ bigsub(x, y) } } - z = bignew(RBIGNUM(x)->len, (z == 0)?1:0); + z = bignew(RBIGNUM(x)->len, z==0); zds = BDIGITS(z); for (i = 0, num = 0; i < RBIGNUM(y)->len; i++) { |