aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2017-05-23 09:50:11 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2017-05-23 09:50:11 -0300
commitc25380c28da154b271d91543e61e27ae974e9ecc (patch)
tree313eaeaee708cd32cd32ba9ffd58872adc5ca0f4 /lvm.c
parent03094da80cc8e501cc33f1f3e37bf8536556b4e9 (diff)
downloadlua-c25380c28da154b271d91543e61e27ae974e9ecc.tar.gz
lua-c25380c28da154b271d91543e61e27ae974e9ecc.tar.bz2
lua-c25380c28da154b271d91543e61e27ae974e9ecc.zip
details (using proper version of 'setobj')
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lvm.c b/lvm.c
index 453ba2d4..9cbb9f45 100644
--- a/lvm.c
+++ b/lvm.c
@@ -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 }