summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 47191a0aab..9e1563dd8d 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -1949,16 +1949,9 @@ catch_i(VALUE tag, VALUE data)
*/
static VALUE
-rb_f_catch(int argc, VALUE *argv)
+rb_f_catch(int argc, VALUE *argv, VALUE self)
{
- VALUE tag;
-
- if (argc == 0) {
- tag = rb_obj_alloc(rb_cObject);
- }
- else {
- rb_scan_args(argc, argv, "01", &tag);
- }
+ VALUE tag = rb_check_arity(argc, 0, 1) ? argv[0] : rb_obj_alloc(rb_cObject);
return rb_catch_obj(tag, catch_i, 0);
}