diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/mruby/mruby.c | 6 |
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)"; |
