mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-01 09:51:13 +02:00
Revert "- rewrite Lua handling"
This reverts commited048eebdd
. It broke static linked lua+luaposix completely, which is useful for debugging and thus should be kept working. Origin commit data ------------------ Branch: ni/coolstream Commit:f10057118f
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de> Date: 2014-01-26 (Sun, 26 Jan 2014) ------------------ This commit was generated by Migit
This commit is contained in:
@@ -347,12 +347,35 @@ const luaL_Reg CLuaInstance::methods[] =
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
#ifdef STATIC_LUAPOSIX
|
||||
#ifndef DYNAMIC_LUAPOSIX
|
||||
/* 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)
|
||||
{
|
||||
int status = 0;
|
||||
const char *msg = "";
|
||||
lua_getglobal(L, "require");
|
||||
lua_pushstring(L, name);
|
||||
status = lua_pcall(L, 1, 0, 0);
|
||||
if (status && !lua_isnil(L, -1))
|
||||
{
|
||||
msg = lua_tostring(L, -1);
|
||||
if (NULL == msg)
|
||||
{
|
||||
msg = "(error object is not a string)";
|
||||
}
|
||||
fprintf(stderr, "[CLuaInstance::%s] error in dolibrary: %s (%s)\n", __func__, name,msg);
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("[CLuaInstance::%s] loaded library: %s\n", __func__, name);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* load basic functions and register our own C callbacks */
|
||||
void CLuaInstance::registerFunctions()
|
||||
{
|
||||
@@ -361,6 +384,14 @@ void CLuaInstance::registerFunctions()
|
||||
luaopen_io(lua);
|
||||
luaopen_string(lua);
|
||||
luaopen_math(lua);
|
||||
#ifndef DYNAMIC_LUAPOSIX
|
||||
#if !HAVE_COOL_HARDWARE
|
||||
luaopen_posix_c(lua);
|
||||
#endif
|
||||
#else
|
||||
dolibrary(lua,"posix");
|
||||
#endif
|
||||
|
||||
lua_newtable(lua);
|
||||
int methodtable = lua_gettop(lua);
|
||||
luaL_newmetatable(lua, className);
|
||||
|
Reference in New Issue
Block a user