diff options
| author | Carson McDonald <[email protected]> | 2013-02-08 06:57:15 -0500 |
|---|---|---|
| committer | Carson McDonald <[email protected]> | 2013-02-08 06:57:15 -0500 |
| commit | 92eb282b7a3b686ed017c6db5e1c553e02f6589c (patch) | |
| tree | dd7c47998a87548fcd627d072939133a5a6920e4 | |
| parent | d3c77559754a196476d1c9a5bdd30a8559affe30 (diff) | |
| download | mruby-92eb282b7a3b686ed017c6db5e1c553e02f6589c.tar.gz mruby-92eb282b7a3b686ed017c6db5e1c553e02f6589c.zip | |
Don't overwrite ciidx if it is already set.
| -rw-r--r-- | src/vm.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1160,7 +1160,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) L_RAISE: ci = mrb->ci; mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc)); - mrb_obj_iv_set(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); eidx = ci->eidx; if (ci == mrb->cibase) { if (ci->ridx == 0) goto L_STOP; |
