* 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
This commit is contained in:
nobu 2016-03-21 13:09:26 +00:00
Родитель 61cefc1359
Коммит d17852b9d5
2 изменённых файлов: 8 добавлений и 3 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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
}