summaryrefslogtreecommitdiff
path: root/editors/fxite/files/patch-src_fxasq__lua.c
diff options
context:
space:
mode:
Diffstat (limited to 'editors/fxite/files/patch-src_fxasq__lua.c')
-rw-r--r--editors/fxite/files/patch-src_fxasq__lua.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/editors/fxite/files/patch-src_fxasq__lua.c b/editors/fxite/files/patch-src_fxasq__lua.c
new file mode 100644
index 000000000000..9c92e66a8a70
--- /dev/null
+++ b/editors/fxite/files/patch-src_fxasq__lua.c
@@ -0,0 +1,50 @@
+--- src/fxasq_lua.c.orig 2013-10-03 09:22:51 UTC
++++ src/fxasq_lua.c
+@@ -31,6 +31,9 @@
+ #include "intl.h"
+ #include "fxasq_lua.h"
+
++#if LUA_VERSION_NUM<502
++# define lua_rawlen lua_objlen
++#endif
+
+ #define DLG_MODULE_NAME "dialog"
+ #define MetaName "_fxasq_metatable"
+@@ -234,7 +237,7 @@ static int asq_new(lua_State *L) {
+ if (argc>=2) {
+ luaL_argcheck(L,lua_istable(L,2),2,_("expected table"));
+ }
+- n=lua_objlen(L,2);
++ n=lua_rawlen(L,2);
+ for (i=1;i<=n; i++) {
+ lua_rawgeti(L,2,i);
+ char msg[64];
+@@ -301,7 +304,7 @@ static int asq_done(lua_State *L)
+
+
+
+-static const struct luaL_reg asq_funcs[] = {
++static const struct luaL_Reg asq_funcs[] = {
+ {"new", asq_new},
+ {"run", asq_run},
+ {"label", asq_label},
+@@ -330,12 +333,15 @@ int luaopen_dialog(lua_State *L)
+ lua_pushvalue(L, -2);
+ lua_settable(L, -3);
+
+- luaL_getmetatable(L, MetaName);
+ lua_pushstring(L,"__gc");
+ lua_pushcfunction(L,asq_done);
+ lua_rawset(L,-3);
+
+- luaL_register(L, NULL, &asq_funcs[1]);
+- luaL_register(L, DLG_MODULE_NAME, asq_funcs);
+- return 0;
++#if LUA_VERSION_NUM < 502
++ luaL_Register(L, NULL, &asq_funcs[1]);
++ luaL_Register(L, DLG_MODULE_NAME, asq_funcs);
++#else
++ luaL_setfuncs(L,asq_funcs,0);
++#endif
++ return 1;
+ }