diff --git a/ChangeLog b/ChangeLog index 5b75b3dc94..b89393004b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sat Feb 4 15:52:56 2006 Hirokazu Yamamoto + + * numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where + sizeof(int) == 4 < sizeof(long). [ruby-core:7300] + + I think the function name of rb_int2big is quite misleading. + This should be "rb_long2big". + Fri Feb 3 19:25:53 2006 Hirokazu Yamamoto * ruby.h: fixed prototype. diff --git a/numeric.c b/numeric.c index 3a0536e10b..10310338cf 100644 --- a/numeric.c +++ b/numeric.c @@ -1884,7 +1884,7 @@ fix_to_s(int argc, VALUE *argv, VALUE x) if (base == 2) { /* rb_fix2str() does not handle binary */ - return rb_big2str(rb_int2big(FIX2INT(x)), 2); + return rb_big2str(rb_int2big(FIX2LONG(x)), 2); } return rb_fix2str(x, base); }