summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/mruby/mruby.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 2037ee2a8..5a97adc8a 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -166,14 +166,14 @@ static void
showcallinfo(mrb_state *mrb)
{
mrb_callinfo *ci;
+ mrb_int ciidx;
const char *filename, *sep;
int i;
printf("trace:\n");
- for (i = 1; &mrb->cibase[i] < mrb->ciend; i++) {
+ ciidx = mrb_fixnum(mrb_obj_iv_get(mrb, mrb->exc, mrb_intern(mrb, "ciidx")));
+ for (i = 1; i <= ciidx; i++) {
ci = &mrb->cibase[i];
- if (ci->mid == 0)
- break;
if (MRB_PROC_CFUNC_P(ci->proc))
filename = "(cfunc)";