diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-04 02:24:15 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-04 02:24:15 +0000 |
commit | 4b85e88174eea7a79d9c68210d716dc3e4c4f0eb (patch) | |
tree | ef0e8d1db1b3072c40ee0d3c68859fd7511b1e53 /array.c | |
parent | b0ec083a20c7b717492994f1ad7a03a97540f218 (diff) | |
download | ruby-4b85e88174eea7a79d9c68210d716dc3e4c4f0eb.tar.gz |
Prefer rb_check_arity when 0 or 1 arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 17 |
1 files changed, 3 insertions, 14 deletions
@@ -2590,13 +2590,7 @@ rb_ary_rotate(VALUE ary, long cnt) static VALUE rb_ary_rotate_bang(int argc, VALUE *argv, VALUE ary) { - long n = 1; - - switch (argc) { - case 1: n = NUM2LONG(argv[0]); - case 0: break; - default: rb_scan_args(argc, argv, "01", NULL); - } + long n = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1); rb_ary_rotate(ary, n); return ary; } @@ -2623,13 +2617,8 @@ rb_ary_rotate_m(int argc, VALUE *argv, VALUE ary) { VALUE rotated; const VALUE *ptr; - long len, cnt = 1; - - switch (argc) { - case 1: cnt = NUM2LONG(argv[0]); - case 0: break; - default: rb_scan_args(argc, argv, "01", NULL); - } + long len; + long cnt = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1); len = RARRAY_LEN(ary); rotated = rb_ary_new2(len); |