handling of luaposix for dynamic environments

added loading of luaposix in case of none static linking of lua
This commit is contained in:
Christian Ege
2013-04-27 21:23:08 +02:00
committed by Stefan Seyfried
parent c7a4927b53
commit 8381f1a8cf

View File

@@ -302,6 +302,13 @@ const luaL_Reg CLuaInstance::methods[] =
/* hack: we link against luaposix, which is included in our
* custom built lualib */
extern "C" { LUAMOD_API int (luaopen_posix_c) (lua_State *L); }
#else
static int dolibrary (lua_State *L, const char *name)
{
lua_getglobal(L, "require");
lua_pushstring(L, name);
return report(L, lua_pcall(L, 1, 0, 0));
}
#endif
/* load basic functions and register our own C callbacks */
void CLuaInstance::registerFunctions()
@@ -314,6 +321,8 @@ void CLuaInstance::registerFunctions()
#ifndef DYNAMIC_LUAPOSIX
luaopen_posix_c(lua);
#endif
dolibrary(lua,"posix");
#endif
lua_newtable(lua);
int methodtable = lua_gettop(lua);