From 6e60d2cee8ea6f1037bbbda9a7d9e3090cfd95b4 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 21 Mar 2016 13:09:26 +0000 Subject: internal.h: fix no-DLONG case * internal.h (rb_fix_mul_fix): multiply converted values, not object VALUEs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ internal.h | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6424800dde..eab1eb60a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Mar 21 22:09:24 2016 Nobuyoshi Nakada + + * internal.h (rb_fix_mul_fix): multiply converted values, not + object VALUEs. + Mon Mar 21 20:18:29 2016 Nobuyoshi Nakada * 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 } -- cgit v1.2.3