summaryrefslogtreecommitdiffhomepage
path: root/src/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.c')
-rw-r--r--src/error.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/error.c b/src/error.c
index 444a088c9..da8786650 100644
--- a/src/error.c
+++ b/src/error.c
@@ -186,8 +186,8 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc)
mrb_callinfo *ci = mrb->ci;
mrb_code *pc = ci->pc;
+ ci--;
while (ci >= mrb->cibase) {
- if (!pc && ci->pc) pc = ci->pc;
if (ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) {
mrb_irep *irep = ci->proc->body.irep;
@@ -197,6 +197,7 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc)
return;
}
}
+ pc = ci->pc;
ci--;
}
}