summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-25 13:48:54 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-25 13:48:54 +0900
commitea9bb1e38ffeec1ca3487031b5957d1f48c3f5ad (patch)
tree9849022f14e8fb869ffaca890d8003514f24ade2 /src
parentd9227aa41d8e626e7ff706f2d8cb94fea08658a9 (diff)
downloadmruby-ea9bb1e38ffeec1ca3487031b5957d1f48c3f5ad.tar.gz
mruby-ea9bb1e38ffeec1ca3487031b5957d1f48c3f5ad.zip
adjust stack position before exiting mrb_run(); close #193
Diffstat (limited to 'src')
-rw-r--r--src/vm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index b2a7b33d1..be55a0124 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -980,7 +980,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
cipop(mrb);
ci = mrb->ci;
if (ci == mrb->cibase) {
- if (ci->ridx == 0) goto L_STOP;
+ if (ci->ridx == 0) {
+ mrb->stack = mrb->stbase;
+ goto L_STOP;
+ }
break;
}
}