summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-14 21:10:34 +0000
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-14 21:10:34 +0000
commit7316302483182a73136b00ad368585e551cbd86f (patch)
treed32188711001581a5e7e21d6669f6c4e91fcb497 /signal.c
parent35c356ea72094dbbf1397d8f5acd065bd23d1177 (diff)
* 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
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/signal.c b/signal.c
index 08ce482ded..e1b757e8c3 100644
--- a/signal.c
+++ b/signal.c
@@ -231,10 +231,7 @@ esignal_init(int argc, VALUE *argv, VALUE self)
if (!NIL_P(sig)) argnum = 2;
else sig = argv[0];
}
- if (argc < 1 || argnum < argc) {
- rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)",
- argc, argnum);
- }
+ rb_check_arity(argc, 1, argnum);
if (argnum == 2) {
signo = NUM2INT(sig);
if (signo < 0 || signo > NSIG) {
@@ -346,8 +343,8 @@ rb_f_kill(int argc, VALUE *argv)
const char *s;
rb_secure(2);
- if (argc < 2)
- rb_raise(rb_eArgError, "wrong number of arguments (%d for at least 2)", argc);
+ rb_check_arity(argc, 2, UNLIMITED_ARGUMENTS);
+
switch (TYPE(argv[0])) {
case T_FIXNUM:
sig = FIX2INT(argv[0]);
@@ -931,9 +928,7 @@ sig_trap(int argc, VALUE *argv)
struct trap_arg arg;
rb_secure(2);
- if (argc < 1 || argc > 2) {
- rb_raise(rb_eArgError, "wrong number of arguments (%d for 1..2)", argc);
- }
+ rb_check_arity(argc, 1, 2);
arg.sig = trap_signm(argv[0]);
if (reserved_signal_p(arg.sig)) {