summaryrefslogtreecommitdiffstats
path: root/range.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-14 15:39:39 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-14 15:39:39 +0000
commitdadb93b20bbd91cd8f8f23342338501bc2f26703 (patch)
tree7a0a03dff9582ae375b05d6000e51d3072186b8d /range.c
parent735c18e34ff40d88ad5bacac1e432c6a4ba46ae3 (diff)
downloadruby-dadb93b20bbd91cd8f8f23342338501bc2f26703.tar.gz
ruby-dadb93b20bbd91cd8f8f23342338501bc2f26703.tar.xz
ruby-dadb93b20bbd91cd8f8f23342338501bc2f26703.zip
* eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.
[ruby-dev:26800] * range.c (range_check, range_init): reduce uselse exceptions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'range.c')
-rw-r--r--range.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/range.c b/range.c
index 2f3e82098..0eb79867b 100644
--- a/range.c
+++ b/range.c
@@ -29,11 +29,7 @@ static VALUE
range_check(args)
VALUE *args;
{
- VALUE v;
-
- v = rb_funcall(args[0], id_cmp, 1, args[1]);
- if (NIL_P(v)) range_failed();
- return Qnil;
+ return rb_funcall(args[0], id_cmp, 1, args[1]);
}
static void
@@ -47,7 +43,10 @@ range_init(range, beg, end, exclude_end)
args[1] = end;
if (!FIXNUM_P(beg) || !FIXNUM_P(end)) {
- rb_rescue(range_check, (VALUE)args, range_failed, 0);
+ VALUE v;
+
+ v = rb_rescue(range_check, (VALUE)args, range_failed, 0);
+ if (NIL_P(v)) range_failed();
}
SET_EXCL(range, exclude_end);