-*- mode:org -*-
* Requirements:
-** lua 5.1, 5.2 ( http://www.lua.org/ ) or LuaJIT 2.x ( http://www.luajit.org/ )
-** Does NOT work with Lua 5.3 yet
+** lua 5.1, 5.2, 5.3 ( http://www.lua.org/ ) or LuaJIT 2.x ( http://www.luajit.org/ )
** Apache HTTPD 2.4 ( http://httpd.apache.org/ ) or higher
* Documentation
** TODO: document or remove block sections
** TODO: test per-dir behavior of block sections
** TODO: Suppress internal details (fs path to scripts, etc) in error responses
+** TODO: Check whether we can tighten the mode flag in lua_load(),
+ luaL_loadfile() an dluaL_loadbuffer() from NULL (="bt")
+ to e.g. "t".
* License
Apache License, Version 2.0,
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
- luaL_register(L, NULL, cfg_methods); /* [metatable] */
+ luaL_setfuncs(L, cfg_methods); /* [metatable] */
luaL_newmetatable(L, "Apache2.CommandParameters");
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
- luaL_register(L, NULL, cmd_methods); /* [metatable] */
+ luaL_setfuncs(L, cmd_methods); /* [metatable] */
}
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
- luaL_register(L, NULL, request_methods); /* [metatable] */
+ luaL_setfuncs(L, request_methods); /* [metatable] */
lua_pop(L, 2);
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
- luaL_register(L, NULL, connection_methods); /* [metatable] */
+ luaL_setfuncs(L, connection_methods); /* [metatable] */
lua_pop(L, 2);
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
- luaL_register(L, NULL, server_methods); /* [metatable] */
+ luaL_setfuncs(L, server_methods); /* [metatable] */
lua_pop(L, 2);
else {
luaL_Buffer b;
luaL_buffinit(lvm, &b);
-#if LUA_VERSION_NUM >= 503
- lua_dump(lvm, ldump_writer, &b, 0);
-#else
lua_dump(lvm, ldump_writer, &b);
-#endif
luaL_pushresult(&b);
spec->bytecode_len = lua_rawlen(lvm, -1);
spec->bytecode = apr_pstrmemdup(cmd->pool, lua_tostring(lvm, -1),
#include "apr_hooks.h"
#include "apr_reslist.h"
-/* Allow for Lua 5.2 backwards compatibility */
-#define LUA_COMPAT_ALL
-/* Allow for Lua 5.3 backwards compatibility */
-#define LUA_COMPAT_5_2
-#define LUA_COMPAT_5_1
-#define LUA_COMPAT_MODULE
-
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
#if LUA_VERSION_NUM > 501
/* Load mode for lua_load() */
-#define lua_load(a,b,c,d) lua_load(a,b,c,d,NULL)
-#define lua_resume(a,b) lua_resume(a, NULL, b)
+#define lua_load(a,b,c,d) lua_load(a,b,c,d,NULL)
+#define lua_resume(a,b) lua_resume(a, NULL, b)
+#define luaL_loadfile(a,b) luaL_loadfilex(a,b,NULL)
+#define luaL_loadbuffer(a,b,c,d) luaL_loadbufferx(a,b,c,d,NULL)
+#define luaL_setfuncs(a,b) luaL_setfuncs(a,b,0)
#else
-#define lua_rawlen(L,i) lua_objlen(L, (i))
+#define lua_rawlen(L,i) lua_objlen(L, (i))
+#define luaL_setfuncs(a,b) luaL_register(a,NULL,b)
+#endif
+#if LUA_VERSION_NUM > 502
+#define lua_dump(a,b,c,d) lua_dump(a,b,c,d,0)
#endif
/* Create a set of AP_LUA_DECLARE(type), AP_LUA_DECLARE_NONSTD(type) and