diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-05 05:22:17 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-05 05:22:17 +0000 |
commit | 39787ea14db33dd4265d7f6271cd2d59ccaeff37 (patch) | |
tree | 49743edd8a3dbb4fa4cfea6c472f3398edfe0639 /array.c | |
parent | 413db1b036083f76a2b34895af3c8a3204e174f2 (diff) | |
download | ruby-39787ea14db33dd4265d7f6271cd2d59ccaeff37.tar.gz |
* numeric.c (fix_to_s): avoid rb_scan_args() when no argument
given.
* bignum.c (rb_big_to_s): ditto.
* enum.c (enum_first): ditto.
* eval_jump.c (rb_f_catch): ditto.
* io.c (rb_obj_display): ditto.
* class.c (rb_obj_singleton_methods): ditto.
* object.c (rb_class_initialize): ditto.
* random.c (rb_f_srand): ditto.
* range.c (range_step): ditto.
* re.c (rb_reg_s_last_match): ditto.
* string.c (rb_str_to_i): ditto.
* string.c (rb_str_each_line): ditto.
* string.c (rb_str_chomp_bang): ditto.
* string.c (rb_str_sum): ditto.
* string.c (str_modifiable): declare inline.
* string.c (str_independent): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 32 |
1 files changed, 16 insertions, 16 deletions
@@ -290,7 +290,7 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary) VALUE size, val; rb_ary_modify(ary); - if (rb_scan_args(argc, argv, "02", &size, &val) == 0) { + if (argc == 0) { if (RARRAY_PTR(ary) && !ARY_SHARED_P(ary)) { free(RARRAY(ary)->ptr); } @@ -300,7 +300,7 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary) } return ary; } - + rb_scan_args(argc, argv, "02", &size, &val); if (argc == 1 && !FIXNUM_P(size)) { val = rb_check_array_type(size); if (!NIL_P(val)) { @@ -877,19 +877,19 @@ rb_ary_index(int argc, VALUE *argv, VALUE ary) VALUE val; long i; - if (rb_scan_args(argc, argv, "01", &val) == 0) { + if (argc == 0) { RETURN_ENUMERATOR(ary, 0, 0); for (i=0; i<RARRAY_LEN(ary); i++) { if (RTEST(rb_yield(RARRAY_PTR(ary)[i]))) { return LONG2NUM(i); } } + return Qnil; } - else { - for (i=0; i<RARRAY_LEN(ary); i++) { - if (rb_equal(RARRAY_PTR(ary)[i], val)) - return LONG2NUM(i); - } + rb_scan_args(argc, argv, "01", &val); + for (i=0; i<RARRAY_LEN(ary); i++) { + if (rb_equal(RARRAY_PTR(ary)[i], val)) + return LONG2NUM(i); } return Qnil; } @@ -915,7 +915,7 @@ rb_ary_rindex(int argc, VALUE *argv, VALUE ary) VALUE val; long i = RARRAY_LEN(ary); - if (rb_scan_args(argc, argv, "01", &val) == 0) { + if (argc == 0) { RETURN_ENUMERATOR(ary, 0, 0); while (i--) { if (RTEST(rb_yield(RARRAY_PTR(ary)[i]))) @@ -924,14 +924,14 @@ rb_ary_rindex(int argc, VALUE *argv, VALUE ary) i = RARRAY_LEN(ary); } } + return Qnil; } - else { - while (i--) { - if (rb_equal(RARRAY_PTR(ary)[i], val)) - return LONG2NUM(i); - if (i > RARRAY_LEN(ary)) { - i = RARRAY_LEN(ary); - } + rb_scan_args(argc, argv, "01", &val); + while (i--) { + if (rb_equal(RARRAY_PTR(ary)[i], val)) + return LONG2NUM(i); + if (i > RARRAY_LEN(ary)) { + i = RARRAY_LEN(ary); } } return Qnil; |