From 14b418d04114957425ce64a9869b938ab0aa65d2 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sun, 10 Nov 2024 15:20:34 +0100 Subject: [PATCH] lua: add compatibility to lua 5.3 and 5.4; copy from https://github.com/SteveKChiu/lua-intf/blob/master/LuaIntf/LuaCompat.h --- src/gui/lua/lua_cc_text.cpp | 9 +++++++++ src/gui/lua/lua_cc_window.cpp | 8 ++++++++ src/gui/lua/lua_configfile.cpp | 8 ++++++++ src/gui/lua/lua_filehelpers.cpp | 8 ++++++++ src/gui/lua/lua_misc.cpp | 8 ++++++++ src/gui/lua/luainstance.cpp | 27 +++++++++++++++++++++++++++ 6 files changed, 68 insertions(+) diff --git a/src/gui/lua/lua_cc_text.cpp b/src/gui/lua/lua_cc_text.cpp index fa108281b..43a483bef 100644 --- a/src/gui/lua/lua_cc_text.cpp +++ b/src/gui/lua/lua_cc_text.cpp @@ -37,6 +37,15 @@ #include "lua_cc_window.h" #include "lua_cc_text.h" + +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + +#ifndef luaL_checkint +# define luaL_checkint luaL_checkinteger +#endif + +#endif /* Lua 5.3 */ + CLuaInstCCText* CLuaInstCCText::getInstance() { static CLuaInstCCText* LuaInstCCText = NULL; diff --git a/src/gui/lua/lua_cc_window.cpp b/src/gui/lua/lua_cc_window.cpp index 469c84ec6..63a279828 100644 --- a/src/gui/lua/lua_cc_window.cpp +++ b/src/gui/lua/lua_cc_window.cpp @@ -33,6 +33,14 @@ #include "luainstance.h" #include "lua_cc_window.h" +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + +#ifndef luaL_checkint +#define luaL_checkint luaL_checkinteger +#endif + +#endif /* Lua 5.3 */ + CLuaInstCCWindow* CLuaInstCCWindow::getInstance() { static CLuaInstCCWindow* LuaInstCCWindow = NULL; diff --git a/src/gui/lua/lua_configfile.cpp b/src/gui/lua/lua_configfile.cpp index e39938530..5950148d3 100644 --- a/src/gui/lua/lua_configfile.cpp +++ b/src/gui/lua/lua_configfile.cpp @@ -30,6 +30,14 @@ #include "luainstance.h" #include "lua_configfile.h" +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + +#ifndef luaL_checkint +#define luaL_checkint luaL_checkinteger +#endif + +#endif /* Lua 5.3 */ + CLuaInstConfigFile* CLuaInstConfigFile::getInstance() { static CLuaInstConfigFile* LuaInstConfigFile = NULL; diff --git a/src/gui/lua/lua_filehelpers.cpp b/src/gui/lua/lua_filehelpers.cpp index 552458ef1..39c1b6a20 100644 --- a/src/gui/lua/lua_filehelpers.cpp +++ b/src/gui/lua/lua_filehelpers.cpp @@ -35,6 +35,14 @@ #include "luainstance.h" #include "lua_filehelpers.h" +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + +#ifndef luaL_checkint +#define luaL_checkint luaL_checkinteger +#endif + +#endif /* Lua 5.3 */ + CLuaInstFileHelpers* CLuaInstFileHelpers::getInstance() { static CLuaInstFileHelpers* LuaInstFileHelpers = NULL; diff --git a/src/gui/lua/lua_misc.cpp b/src/gui/lua/lua_misc.cpp index 95dbb1569..8e7a0ceb9 100644 --- a/src/gui/lua/lua_misc.cpp +++ b/src/gui/lua/lua_misc.cpp @@ -40,6 +40,14 @@ /* autogenerated from luainstance.h */ #include "lua_api_version.h" +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + +#ifndef luaL_checkint +#define luaL_checkint luaL_checkinteger +#endif + +#endif /* Lua 5.3 */ + extern CVolume* g_volume; CLuaInstMisc* CLuaInstMisc::getInstance() diff --git a/src/gui/lua/luainstance.cpp b/src/gui/lua/luainstance.cpp index fa1e1bb82..c8fb8b058 100644 --- a/src/gui/lua/luainstance.cpp +++ b/src/gui/lua/luainstance.cpp @@ -62,6 +62,33 @@ /* autogenerated from luainstance.h */ #include "lua_api_version.h" +#if LUA_VERSION_NUM >= 503 /* Lua 5.3 */ + + #ifndef luaL_checkint + # define luaL_checkint luaL_checkinteger + #endif + + #ifndef lua_pushunsigned + #define lua_pushunsigned(L, n) \ + lua_pushinteger(L, static_cast(n)) + + #define lua_tounsignedx(L, i, is) \ + static_cast(lua_tointegerx(L, i, is)) + + #define lua_tounsigned(L, i) \ + lua_tounsignedx(L, (i), nullptr) + #endif + + #ifndef luaL_checkunsigned + #define luaL_checkunsigned(L, a) \ + static_cast(luaL_checkinteger(L, a)) + + #define luaL_optunsigned(L, a, d) \ + static_cast(luaL_optinteger(L, a, static_cast(d))) + #endif + +#endif /* Lua 5.3 */ + extern CPictureViewer *g_PicViewer; extern cVideo *videoDecoder;