From 61ac9ff2eaa9da7d505b17e4ca8a5cbb90d16ea0 Mon Sep 17 00:00:00 2001 From: h2so5 Date: Thu, 19 Dec 2013 21:30:51 +0900 Subject: fix codegen bug in NODE_CASE --- src/codegen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/codegen.c') diff --git a/src/codegen.c b/src/codegen.c index ef3a716f9..dc80f2592 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1409,10 +1409,13 @@ codegen(codegen_scope *s, node *tree, int val) tree = tree->cdr; } if (val) { + int pos = cursp(); genop(s, MKOP_A(OP_LOADNIL, cursp())); + if (pos3) dispatch_linked(s, pos3); + pop(); + genop(s, MKOP_AB(OP_MOVE, cursp(), pos)); push(); } - if (pos3) dispatch_linked(s, pos3); } break; -- cgit v1.2.3