summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorCarson McDonald <[email protected]>2013-02-08 06:57:15 -0500
committerCarson McDonald <[email protected]>2013-02-08 06:57:15 -0500
commit92eb282b7a3b686ed017c6db5e1c553e02f6589c (patch)
treedd7c47998a87548fcd627d072939133a5a6920e4 /src
parentd3c77559754a196476d1c9a5bdd30a8559affe30 (diff)
downloadmruby-92eb282b7a3b686ed017c6db5e1c553e02f6589c.tar.gz
mruby-92eb282b7a3b686ed017c6db5e1c553e02f6589c.zip
Don't overwrite ciidx if it is already set.
Diffstat (limited to 'src')
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index a2df8abdf..bde38612e 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -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;