From dee96209bfbb957538c7adeb01a65f3830749179 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 6 Dec 1999 09:04:03 +0000 Subject: 19991206 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index d1c016e708..77b52ffec9 100644 --- a/numeric.c +++ b/numeric.c @@ -63,6 +63,7 @@ coerce_rescue(x) STR2CSTR(rb_inspect(x[1])): rb_class2name(CLASS_OF(x[1])), rb_class2name(CLASS_OF(x[0]))); + return Qnil; /* dummy */ } static void @@ -657,6 +658,7 @@ fail_to_integer(val) { rb_raise(rb_eTypeError, "failed to convert %s into Integer", rb_class2name(CLASS_OF(val))); + return Qnil; /* dummy */ } long @@ -1169,12 +1171,10 @@ fix_rshift(x, y) long i, val; i = NUM2LONG(y); - if (i < sizeof(long) * 8) { - val = RSHIFT(FIX2LONG(x), i); - return INT2FIX(val); - } - - return INT2FIX(0); + if (i < 0) + return fix_lshift(x, INT2FIX(-i)); + val = RSHIFT(FIX2LONG(x), i); + return INT2FIX(val); } static VALUE -- cgit v1.2.3