diff options
| -rw-r--r-- | mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index 183003307..a9d6850a5 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -251,8 +251,7 @@ main(int argc, char **argv) int n; mrb_bool code_block_open = FALSE; int ai; - mrb_bool first_command = TRUE; - unsigned int nregs; + unsigned int stack_keep = 0; /* new interpreter instance */ mrb = mrb_open(); @@ -365,12 +364,12 @@ main(int argc, char **argv) mrb_codedump_all(mrb, proc); } /* pass a proc for evaulation */ - nregs = first_command ? 0: proc->body.irep->nregs; /* evaluate the bytecode */ result = mrb_context_run(mrb, proc, mrb_top_self(mrb), - nregs); + stack_keep); + stack_keep = proc->body.irep->nlocals; /* did an exception occur? */ if (mrb->exc) { p(mrb, mrb_obj_value(mrb->exc), 0); @@ -390,7 +389,6 @@ main(int argc, char **argv) } mrb_parser_free(parser); cxt->lineno++; - first_command = FALSE; } mrbc_context_free(mrb, cxt); mrb_close(mrb); |
