From 26018bbfa7f25b4941ec40caa96e596e3d1f64c1 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 1 Nov 2001 05:11:24 +0000 Subject: * bignum.c (rb_big_aref): idx may be a Bignum. * numeric.c (fix_aref): negative index must return zero. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 33ec3605e6..d5896fe2d3 100644 --- a/numeric.c +++ b/numeric.c @@ -1305,7 +1305,8 @@ fix_aref(fix, idx) long val = FIX2LONG(fix); if (TYPE(idx) == T_BIGNUM) { - if (val >= 0) return INT2FIX(0); + if (!RBIGNUM(idx)->sign || val >= 0) + return INT2FIX(0); return INT2FIX(1); } else { -- cgit v1.2.3