diff options
Diffstat (limited to 'lcode.c')
-rw-r--r-- | lcode.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1745,10 +1745,10 @@ void luaK_finish (FuncState *fs) { | |||
1745 | SET_OPCODE(*pc, OP_RETURN); | 1745 | SET_OPCODE(*pc, OP_RETURN); |
1746 | } /* FALLTHROUGH */ | 1746 | } /* FALLTHROUGH */ |
1747 | case OP_RETURN: case OP_TAILCALL: { | 1747 | case OP_RETURN: case OP_TAILCALL: { |
1748 | if (fs->needclose || p->is_vararg) { | 1748 | if (fs->needclose) |
1749 | SETARG_C(*pc, p->is_vararg ? p->numparams + 1 : 0); | 1749 | SETARG_k(*pc, 1); /* signal that it needs to close */ |
1750 | SETARG_k(*pc, 1); /* signal that there is extra work */ | 1750 | if (p->is_vararg) |
1751 | } | 1751 | SETARG_C(*pc, p->numparams + 1); /* signal that it is vararg */ |
1752 | break; | 1752 | break; |
1753 | } | 1753 | } |
1754 | case OP_JMP: { | 1754 | case OP_JMP: { |