From a985cf7945d6aec6d483f76b9427382bb5d984e1 Mon Sep 17 00:00:00 2001 From: Masamitsu MURASE Date: Sat, 28 Jul 2012 19:16:54 +0900 Subject: Modify ci->nregs. --- src/vm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 9aa21eed4..e8dcf1b80 100644 --- a/src/vm.c +++ b/src/vm.c @@ -718,7 +718,12 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) mrb->stack += a; if (MRB_PROC_CFUNC_P(m)) { - ci->nregs = n + 1; + if (n == CALL_MAXARGS) { + ci->nregs = 3; + } + else { + ci->nregs = n + 2; + } mrb->stack[0] = m->body.func(mrb, recv); mrb->arena_idx = ai; if (mrb->exc) goto L_RAISE; -- cgit v1.2.3