From 7316302483182a73136b00ad368585e551cbd86f Mon Sep 17 00:00:00 2001 From: marcandre Date: Wed, 14 Mar 2012 21:10:34 +0000 Subject: * include/ruby/intern.h: Add rb_check_arity, rb_error_arity [#6085] * array.c: Use rb_check_arity / rb_error_arity * class.c: ditto * enumerator.c: ditto * eval.c: ditto * file.c: ditto * hash.c: ditto * numeric.c: ditto * proc.c: ditto * process.c: ditto * random.c: ditto * re.c: ditto * signal.c: ditto * string.c: ditto * struct.c: ditto * transcode.c: ditto * vm_eval.c: ditto * vm_insnhelper.c: ditto & implementation of rb_error_arity * test/ruby/test_arity.rb: tests for above git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) (limited to 'string.c') diff --git a/string.c b/string.c index 6355070324..f2694a8947 100644 --- a/string.c +++ b/string.c @@ -2727,7 +2727,7 @@ rb_str_match_m(int argc, VALUE *argv, VALUE str) { VALUE re, result; if (argc < 1) - rb_raise(rb_eArgError, "wrong number of arguments (%d for 1..2)", argc); + rb_check_arity(argc, 1, 2); re = argv[0]; argv[0] = str; result = rb_funcall2(get_pat(re, 0), rb_intern("match"), argc, argv); @@ -3237,9 +3237,7 @@ rb_str_aref_m(int argc, VALUE *argv, VALUE str) } return rb_str_substr(str, NUM2LONG(argv[0]), NUM2LONG(argv[1])); } - if (argc != 1) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 1..2)", argc); - } + rb_check_arity(argc, 1, 2); return rb_str_aref(str, argv[0]); } @@ -3467,9 +3465,7 @@ rb_str_aset_m(int argc, VALUE *argv, VALUE str) } return argv[2]; } - if (argc != 2) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 2..3)", argc); - } + rb_check_arity(argc, 2, 3); return rb_str_aset(str, argv[0], argv[1]); } @@ -3532,9 +3528,7 @@ rb_str_slice_bang(int argc, VALUE *argv, VALUE str) VALUE buf[3]; int i; - if (argc < 1 || 2 < argc) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 1..2)", argc); - } + rb_check_arity(argc, 1, 2); for (i=0; i