diff options
Diffstat (limited to 'util-src/table.c')
-rw-r--r-- | util-src/table.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/util-src/table.c b/util-src/table.c index c9c09170..0e547858 100644 --- a/util-src/table.c +++ b/util-src/table.c @@ -1,25 +1,27 @@ #include <lua.h> #include <lauxlib.h> -static int Lcreate_table(lua_State* L) { +static int Lcreate_table(lua_State *L) { lua_createtable(L, luaL_checkinteger(L, 1), luaL_checkinteger(L, 2)); return 1; } -static int Lpack(lua_State* L) { +static int Lpack(lua_State *L) { int arg; unsigned int n_args = lua_gettop(L); lua_createtable(L, n_args, 1); lua_insert(L, 1); + for(arg = n_args; arg >= 1; arg--) { lua_rawseti(L, 1, arg); } + lua_pushinteger(L, n_args); lua_setfield(L, -2, "n"); return 1; } -int luaopen_util_table(lua_State* L) { +int luaopen_util_table(lua_State *L) { #if (LUA_VERSION_NUM > 501) luaL_checkversion(L); #endif |