From 58e94427377952b0953bcdf2d544c62b0fefd4a6 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 10 Jan 2021 10:20:01 +0900 Subject: Unified `target_class` and `env` of `mrb_callinfo` If there is `env`, `env->c` means `target_class`. --- src/kernel.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index b98e52c42..f14f6af7c 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -176,8 +176,7 @@ mrb_f_block_given_p_m(mrb_state *mrb, mrb_value self) if (bidx < 0) return mrb_false_value(); bp = &e->stack[bidx]; } - else if (ci->env) { - e = ci->env; + else if ((e = mrb_vm_ci_env(ci)) != NULL) { /* top-level does not have block slot (always false) */ if (e->stack == mrb->c->stbase) return mrb_false_value(); bidx = env_bidx(e); -- cgit v1.2.3