summaryrefslogtreecommitdiff
path: root/lcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'lcode.c')
-rw-r--r--lcode.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/lcode.c b/lcode.c
index 97aa9dda..8f9fa408 100644
--- a/lcode.c
+++ b/lcode.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lcode.c,v 2.137 2017/11/28 12:58:18 roberto Exp roberto $ 2** $Id: lcode.c,v 2.138 2017/11/28 15:26:15 roberto Exp roberto $
3** Code generator for Lua 3** Code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -152,7 +152,17 @@ int luaK_jump (FuncState *fs) {
152** Code a 'return' instruction 152** Code a 'return' instruction
153*/ 153*/
154void luaK_ret (FuncState *fs, int first, int nret) { 154void luaK_ret (FuncState *fs, int first, int nret) {
155 luaK_codeABC(fs, OP_RETURN, first, nret+1, 0); 155 switch (nret) {
156 case 0:
157 luaK_codeABC(fs, OP_RETURN0, 0, 0, 0);
158 break;
159 case 1:
160 luaK_codeABC(fs, OP_RETURN1, first, 0, 0);
161 break;
162 default:
163 luaK_codeABC(fs, OP_RETURN, first, nret + 1, 0);
164 break;
165 }
156} 166}
157 167
158 168