diff --git a/ChangeLog b/ChangeLog index 98694cb1b8..6a96aba62d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Aug 18 10:05:12 2013 Tanaka Akira + + * bignum.c (rb_big2str1): Make an expression more explicit. + Sun Aug 18 03:18:45 2013 Tanaka Akira * bignum.c (rb_big2str1): Use power_level instead of bitsize(xn). diff --git a/bignum.c b/bignum.c index 0da5199b59..37a0d5ebc9 100644 --- a/bignum.c +++ b/bignum.c @@ -4569,7 +4569,7 @@ rb_big2str1(VALUE x, int base) VALUE tmpw = 0; BDIGIT *wds; size_t wn; - wn = power_level + RBIGNUM_LEN(power); + wn = power_level * BIGDIVREM_EXTRA_WORDS + RBIGNUM_LEN(power); wds = ALLOCV_N(BDIGIT, tmpw, xn + wn); MEMCPY(wds, xds, BDIGIT, xn); big2str_karatsuba(&b2s_data, wds, xn, wn, power_level, 0);