summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/linit.c')
-rw-r--r--Sluift/linit.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/Sluift/linit.c b/Sluift/linit.c
index 8f0614b..ad27b37 100644
--- a/Sluift/linit.c
+++ b/Sluift/linit.c
@@ -4,33 +4,34 @@
#include "sluift.h"
static const luaL_Reg lualibs[] = {
- {"", luaopen_base},
- {LUA_LOADLIBNAME, luaopen_package},
- {LUA_TABLIBNAME, luaopen_table},
- {LUA_IOLIBNAME, luaopen_io},
- {LUA_OSLIBNAME, luaopen_os},
- {LUA_STRLIBNAME, luaopen_string},
- {LUA_MATHLIBNAME, luaopen_math},
- {LUA_DBLIBNAME, luaopen_debug},
- {"sluift", luaopen_sluift},
- {NULL, NULL}
+ {"", luaopen_base},
+ {LUA_LOADLIBNAME, luaopen_package},
+ {LUA_TABLIBNAME, luaopen_table},
+ {LUA_IOLIBNAME, luaopen_io},
+ {LUA_OSLIBNAME, luaopen_os},
+ {LUA_STRLIBNAME, luaopen_string},
+ {LUA_MATHLIBNAME, luaopen_math},
+ {LUA_DBLIBNAME, luaopen_debug},
+ {"sluift", luaopen_sluift},
+ {NULL, NULL}
};
LUALIB_API void luaL_openlibs (lua_State *L) {
- const luaL_Reg *lib = lualibs;
- for (; lib->func; lib++) {
- lua_pushcfunction(L, lib->func);
- lua_pushstring(L, lib->name);
- lua_call(L, 1, 0);
- }
+ const luaL_Reg *lib = lualibs;
+ for (; lib->func; lib++) {
+ lua_pushcfunction(L, lib->func);
+ lua_pushstring(L, lib->name);
+ lua_call(L, 1, 0);
+ }
/* Import sluift into global namespace */
- lua_getfield(L, LUA_GLOBALSINDEX, "sluift");
+ lua_pushglobaltable(L);
+ lua_getfield(L, -1, "sluift");
for (lua_pushnil(L); lua_next(L, -2); ) {
lua_pushvalue(L, -2);
lua_pushvalue(L, -2);
- lua_settable(L, LUA_GLOBALSINDEX);
+ lua_settable(L, -6);
lua_pop(L, 1);
}
}