diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | internal.h | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Mon Mar 21 22:09:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (rb_fix_mul_fix): multiply converted values, not + object VALUEs. + Mon Mar 21 20:18:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell diff --git a/internal.h b/internal.h index af4cc98aed..48acd5bb0c 100644 --- a/internal.h +++ b/internal.h @@ -284,11 +284,11 @@ rb_fix_mul_fix(VALUE x, VALUE y) #ifdef DLONG return DL2NUM((DLONG)lx * (DLONG)ly); #else - if (MUL_OVERFLOW_FIXNUM_P(x, y)) { - return rb_big_mul(rb_int2big(x), rb_int2big(y)); + if (MUL_OVERFLOW_FIXNUM_P(lx, ly)) { + return rb_big_mul(rb_int2big(lx), rb_int2big(ly)); } else { - return LONG2FIX(x * y); + return LONG2FIX(lx * ly); } #endif } |