--- src/mod_cml_lua.c.orig 2012-10-22 06:17:17.418886286 -0700 +++ src/mod_cml_lua.c 2012-10-22 06:25:50.289753316 -0700 @@ -28,6 +28,10 @@ #include #include +#if LUA_VERSION_NUM >= 502 +#define LUA_GLOBALSINDEX LUA_REGISTRYINDEX +#endif + typedef struct { stream st; int done; @@ -285,7 +285,11 @@ lua_settable(L, LUA_GLOBALSINDEX); /* load lua program */ +#if LUA_VERSION_NUM >= 502 + if (lua_load(L, load_file, &rm, fn->ptr, NULL) || lua_pcall(L,0,1,0)) { +#else if (lua_load(L, load_file, &rm, fn->ptr) || lua_pcall(L,0,1,0)) { +#endif log_error_write(srv, __FILE__, __LINE__, "s", lua_tostring(L,-1)); --- src/mod_magnet.c.orig 2014-03-06 18:08:00.000000000 +0400 +++ src/mod_magnet.c 2014-08-04 00:28:43.515720829 +0400 @@ -24,6 +24,10 @@ #define MAGNET_CONFIG_PHYSICAL_PATH "magnet.attract-physical-path-to" #define MAGNET_RESTART_REQUEST 99 +#if LUA_VERSION_NUM >= 502 +#define LUA_GLOBALSINDEX LUA_REGISTRYINDEX +#endif + /* plugin config for all request/connections */ static jmp_buf exceptionjmp; @@ -691,7 +695,11 @@ * get the environment of the function */ +#if LUA_VERSION_NUM >= 502 + lua_getupvalue(L, -1, 1); /* -1 is the function, _ENV is the first upvalue of a chunk */ +#else lua_getfenv(L, -1); /* -1 is the function */ +#endif /* lighty.header */ @@ -741,7 +749,11 @@ */ force_assert(lua_isfunction(L, -1)); +#if LUA_VERSION_NUM >= 502 + lua_getupvalue(L, -1, 1); /* -1 is the function, _ENV is the first upvalue of a chunk */ +#else lua_getfenv(L, -1); /* -1 is the function */ +#endif lua_getfield(L, -1, "lighty"); /* lighty.* from the env */ force_assert(lua_istable(L, -1)); @@ -990,8 +1002,11 @@ lua_setfield(L, -2, "__index"); /* { __index = _G } (sp -= 1) */ lua_setmetatable(L, -2); /* setmetatable({}, {__index = _G}) (sp -= 1) */ - +#if LUA_VERSION_NUM >= 502 + lua_setupvalue(L, -2, 1); /* on the stack should be a modified env (sp -= 1), _ENV is the first upvalue of a chunk */ +#else lua_setfenv(L, -2); /* on the stack should be a modified env (sp -= 1) */ +#endif errfunc = push_traceback(L, 0); if (lua_pcall(L, 0, 1, errfunc)) { .