From bd3ffd7282de8236cd4eb2ff2e21bbc10791bfeb Mon Sep 17 00:00:00 2001 From: Benoit Giannangeli Date: Fri, 24 Feb 2017 08:13:38 +0100 Subject: table.pack --- src/lapi.js | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/lapi.js') diff --git a/src/lapi.js b/src/lapi.js index 6316326..f34216b 100644 --- a/src/lapi.js +++ b/src/lapi.js @@ -355,6 +355,13 @@ const lua_setfield = function(L, idx, k) { auxsetstr(L, index2addr(L, idx), k) }; +const lua_seti = function(L, idx, n) { + assert(1 < L.top - L.ci.funcOff, "not enough elements in the stack"); + let t = index2addr(L, idx); + lvm.settable(L, t, n, L.stack[L.top - 1]); + L.top--; /* pop value */ +}; + const lua_rawset = function(L, idx) { assert(2 < L.top - L.ci.funcOff, "not enough elements in the stack"); let o = index2addr(L, idx); @@ -780,6 +787,7 @@ module.exports.lua_remove = lua_remove; module.exports.lua_rotate = lua_rotate; module.exports.lua_setfield = lua_setfield; module.exports.lua_setglobal = lua_setglobal; +module.exports.lua_seti = lua_seti; module.exports.lua_setmetatable = lua_setmetatable; module.exports.lua_settable = lua_settable; module.exports.lua_settop = lua_settop; -- cgit v1.2.3-70-g09d2