diff options
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.283 2017/05/18 19:34:39 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.284 2017/05/18 19:44:19 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -690,13 +690,13 @@ void luaV_finishOp (lua_State *L) { | |||
690 | StkId top = L->top - 1; /* top when 'luaT_trybinTM' was called */ | 690 | StkId top = L->top - 1; /* top when 'luaT_trybinTM' was called */ |
691 | int b = GETARG_B(inst); /* first element to concatenate */ | 691 | int b = GETARG_B(inst); /* first element to concatenate */ |
692 | int total = cast_int(top - 1 - (base + b)); /* yet to concatenate */ | 692 | int total = cast_int(top - 1 - (base + b)); /* yet to concatenate */ |
693 | setobj2s(L, top - 2, top); /* put TM result in proper position */ | 693 | setobjs2s(L, top - 2, top); /* put TM result in proper position */ |
694 | if (total > 1) { /* are there elements to concat? */ | 694 | if (total > 1) { /* are there elements to concat? */ |
695 | L->top = top - 1; /* top is one after last element (at top-2) */ | 695 | L->top = top - 1; /* top is one after last element (at top-2) */ |
696 | luaV_concat(L, total); /* concat them (may yield again) */ | 696 | luaV_concat(L, total); /* concat them (may yield again) */ |
697 | } | 697 | } |
698 | /* move final result to final position */ | 698 | /* move final result to final position */ |
699 | setobj2s(L, ci->func + 1 + GETARG_A(inst), L->top - 1); | 699 | setobjs2s(L, ci->func + 1 + GETARG_A(inst), L->top - 1); |
700 | L->top = ci->top; /* restore top */ | 700 | L->top = ci->top; /* restore top */ |
701 | break; | 701 | break; |
702 | } | 702 | } |