* numeric.c (fix_divide): must not use rb_rational_new1 for coercion
because it returns an argument itself when canonical mode is set. [ruby-core:31279] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
dc7ba7e49a
commit
b79e96ae62
@ -1,3 +1,9 @@
|
|||||||
|
Thu Jul 15 21:43:35 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
||||||
|
|
||||||
|
* numeric.c (fix_divide): must not use rb_rational_new1 for coercion
|
||||||
|
because it returns an argument itself when canonical mode is set.
|
||||||
|
[ruby-core:31279]
|
||||||
|
|
||||||
Thu Jul 15 21:38:31 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
Thu Jul 15 21:38:31 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
||||||
|
|
||||||
* proc.c (bm_free): fix memory leak. [ruby-core:30869] [Bug #3466]
|
* proc.c (bm_free): fix memory leak. [ruby-core:30869] [Bug #3466]
|
||||||
|
@ -2429,7 +2429,7 @@ fix_divide(VALUE x, VALUE y, ID op)
|
|||||||
case T_RATIONAL:
|
case T_RATIONAL:
|
||||||
if (op == '/' && FIX2LONG(x) == 1)
|
if (op == '/' && FIX2LONG(x) == 1)
|
||||||
return rb_rational_reciprocal(y);
|
return rb_rational_reciprocal(y);
|
||||||
return rb_funcall(rb_rational_new1(x), op, 1, y);
|
/* fall through */
|
||||||
default:
|
default:
|
||||||
return rb_num_coerce_bin(x, y, op);
|
return rb_num_coerce_bin(x, y, op);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user