summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/vm.c4
-rw-r--r--tools/mruby/mruby.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/src/vm.c b/src/vm.c
index ce77f5b05..924520340 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1103,10 +1103,6 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
while (ci[0].ridx == ci[-1].ridx) {
cipop(mrb);
ci = mrb->ci;
- if (ci->acc < 0) {
- mrb->jmp = prev_jmp;
- longjmp(*(jmp_buf*)mrb->jmp, 1);
- }
while (eidx > mrb->ci->eidx) {
ecall(mrb, --eidx);
}
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 444170270..c36e76066 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -215,6 +215,7 @@ main(int argc, char **argv)
if (!mrb_undef_p(v)) {
p(mrb, mrb_obj_value(mrb->exc));
}
+ n = -1;
}
else if (args.check_syntax) {
printf("Syntax OK\n");
@@ -222,5 +223,5 @@ main(int argc, char **argv)
}
cleanup(mrb, &args);
- return n > 0 ? 0 : 1;
+ return n == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}