summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-03 07:34:31 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-03 07:34:31 +0000
commitb30a6b8d1d194528a2c84b7e2c73d23a4d25cc42 (patch)
tree4948fe9199a75722ec2c37a7dac823e1996db1d1 /bignum.c
parent8ab35353a75a7ee9e908ff32e68327e77ad85af2 (diff)
bignum.c: Bignum zero comparison
* bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero length Bignum. [ruby-core:53893] [Bug #8204] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bignum.c b/bignum.c
index 54dd75cf893..6d2b25f997a 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1686,6 +1686,7 @@ rb_big_eq(VALUE x, VALUE y)
{
switch (TYPE(y)) {
case T_FIXNUM:
+ if (bignorm(x) == y) return Qtrue;
y = rb_int2big(FIX2LONG(y));
break;
case T_BIGNUM: