diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-12-13 17:17:47 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-12-13 17:17:47 +0900 |
| commit | df350766025e97f55b86ee51f71509cfa6b1e005 (patch) | |
| tree | d3cf1116e68f8b603aefdeea18093991168db1cf /src | |
| parent | d196e4dd04d2b1879401f31788d4630d3c1c972a (diff) | |
| download | mruby-df350766025e97f55b86ee51f71509cfa6b1e005.tar.gz mruby-df350766025e97f55b86ee51f71509cfa6b1e005.zip | |
Restore callinfo offset in mrb_yield_with_class()
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -654,11 +654,13 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value if (MRB_PROC_CFUNC_P(p)) { val = p->body.func(mrb, self); mrb->c->stack = mrb->c->ci->stackent; - cipop(mrb); } else { + int cioff = mrb->c->ci - mrb->c->cibase; val = mrb_run(mrb, p, self); + mrb->c->ci = mrb->c->cibase + cioff; } + cipop(mrb); return val; } |
