diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-10 13:21:57 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-10 13:21:57 +0900 |
commit | 0a98dd1cffe09c2c17e60e1a1c75bad7e4337002 (patch) | |
tree | bf7c415b206b9713a51dde00dd46c86dce64c0d4 /re.c | |
parent | 4954c9fc0f9d06aa4e3e8deb33b41f3fae294adc (diff) |
Should use dedecated function `Check_Type`
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 16 |
1 files changed, 4 insertions, 12 deletions
@@ -2393,12 +2393,7 @@ match_deconstruct_keys(VALUE match, VALUE keys) return h; } - if (UNLIKELY(!RB_TYPE_P(keys, T_ARRAY))) { - rb_raise(rb_eTypeError, - "wrong argument type %"PRIsVALUE" (expected Array or nil)", - rb_obj_class(keys)); - - } + Check_Type(keys, T_ARRAY); if (onig_number_of_names(RREGEXP_PTR(RMATCH(match)->regexp)) < RARRAY_LEN(keys)) { return rb_hash_new_with_size(0); @@ -2410,11 +2405,7 @@ match_deconstruct_keys(VALUE match, VALUE keys) VALUE key = RARRAY_AREF(keys, i); VALUE name; - if (UNLIKELY(!SYMBOL_P(key))) { - rb_raise(rb_eTypeError, - "wrong argument type %"PRIsVALUE" (expected Symbol)", - rb_obj_class(key)); - } + Check_Type(key, T_SYMBOL); name = rb_sym2str(key); @@ -2423,7 +2414,8 @@ match_deconstruct_keys(VALUE match, VALUE keys) if (num >= 0) { rb_hash_aset(h, key, rb_reg_nth_match(num, match)); - } else { + } + else { return h; } } |