From 5bad1c742927bd8569575e2f3f955d08fd4f6e8a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 8 Dec 2021 16:22:24 +0900 Subject: vm.c: fix `mrb_ci_kidx`. It used to return wrong value for 14 positional arguments. --- src/vm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/vm.c b/src/vm.c index 2cc8412ad..31e1e4bd1 100644 --- a/src/vm.c +++ b/src/vm.c @@ -394,10 +394,9 @@ mrb_funcall_id(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc, ...) } static mrb_int -mrb_ci_kidx(mrb_callinfo *ci) +mrb_ci_kidx(const mrb_callinfo *ci) { - if (ci->nk == 0) return -1; - return (ci->n % 14) + 1; + return (ci->n == CALL_MAXARGS) ? 2 : ci->n + 1; } static mrb_int -- cgit v1.2.3