diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-12-08 16:41:56 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-12-08 16:42:23 +0900 |
| commit | c593e3e30af35423cd915e2efdb9766444916bd2 (patch) | |
| tree | e886769f3775752bbac2690c9693f48f2ff68ce2 | |
| parent | 5bad1c742927bd8569575e2f3f955d08fd4f6e8a (diff) | |
| download | mruby-c593e3e30af35423cd915e2efdb9766444916bd2.tar.gz mruby-c593e3e30af35423cd915e2efdb9766444916bd2.zip | |
vm.c: use `check_method_noarg()` to reduce code duplication; ref #5584
| -rw-r--r-- | src/vm.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -1627,13 +1627,10 @@ RETRY_TRY_BLOCK: mrb_vm_ci_proc_set(ci, p); recv = p->body.func(mrb, recv); } - else if (MRB_METHOD_NOARG_P(m) && - (!(n == 0 || (n == CALL_MAXARGS && RARRAY_LEN(regs[1]) == 0)) || - !(nk == 0 || mrb_hash_empty_p(mrb, regs[n == CALL_MAXARGS ? 2 : n + 1])))) { - argnum_error(mrb, 0); - goto L_RAISE; - } else { + if (MRB_METHOD_NOARG_P(m)) { + check_method_noarg(mrb, ci); + } recv = MRB_METHOD_FUNC(m)(mrb, recv); } mrb_gc_arena_shrink(mrb, ai); |
