From d34e344d3bfc6d88656d1dbcfcfc35c271f157cf Mon Sep 17 00:00:00 2001 From: ocean Date: Fri, 21 Oct 2005 06:28:41 +0000 Subject: * 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] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bignum.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bignum.c') diff --git a/bignum.c b/bignum.c index 043e79936..536779bb4 100644 --- a/bignum.c +++ b/bignum.c @@ -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++) { -- cgit