From 9a686593c76ac1910914c0318dbc085387aa7a67 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 2 Apr 2016 06:33:26 +0000 Subject: numeric.c: prefer rb_check_arity * numeric.c (flo_round, int_to_s, int_round): use rb_check_arity instead of rb_scan_args for a simple optional argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 4bb2a3263e..37217a15bc 100644 --- a/numeric.c +++ b/numeric.c @@ -1842,14 +1842,13 @@ flo_truncate(VALUE num); static VALUE flo_round(int argc, VALUE *argv, VALUE num) { - VALUE nd; double number, f; int ndigits = 0; int binexp; enum {float_dig = DBL_DIG+2}; - if (argc > 0 && rb_scan_args(argc, argv, "01", &nd) == 1) { - ndigits = NUM2INT(nd); + if (rb_check_arity(argc, 0, 1)) { + ndigits = NUM2INT(argv[0]); } if (ndigits < 0) { return rb_int_round(flo_truncate(num), ndigits); @@ -3015,13 +3014,10 @@ int_to_s(int argc, VALUE *argv, VALUE x) { int base; - if (argc == 0) base = 10; - else { - VALUE b; - - rb_scan_args(argc, argv, "01", &b); - base = NUM2INT(b); - } + if (rb_check_arity(argc, 0, 1)) + base = NUM2INT(argv[0]); + else + base = 10; return rb_int2str(x, base); } @@ -4142,12 +4138,10 @@ int_dotimes(VALUE num) static VALUE int_round(int argc, VALUE* argv, VALUE num) { - VALUE n; int ndigits; - if (argc == 0) return num; - rb_scan_args(argc, argv, "1", &n); - ndigits = NUM2INT(n); + if (!rb_check_arity(argc, 0, 1)) return num; + ndigits = NUM2INT(argv[0]); if (ndigits > 0) { return rb_Float(num); } -- cgit v1.2.3