1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
Author: Andreas Tille <tille@debian.org>
Last-Update: 2025-07-28
Description: Fix some "implicit declaration" errors with gcc-15
--- a/ext/curses/chstr.c
+++ b/ext/curses/chstr.c
@@ -44,6 +44,14 @@ and attributes in `chstr` buffers are no
#include "_helpers.c"
+#if LUA_VERSION_NUM >= 502
+#define lua_strlen lua_rawlen
+#define luaL_reg luaL_Reg
+#define MY_LUA_REGISTER(L, name, funcs) luaL_newlib(L, funcs)
+#else
+#define lua_strlen lua_objlen
+#define MY_LUA_REGISTER(L, name, funcs) luaL_register(L, name, funcs)
+#endif
static const char *CHSTRMETA = "curses:chstr";
@@ -267,7 +275,7 @@ luaopen_curses_chstr(lua_State *L)
{
int t, mt;
- luaL_register(L, "curses.chstr", curses_chstr_fns);
+ MY_LUA_REGISTER(L, "curses.chstr", curses_chstr_fns);
t = lua_gettop(L);
lua_createtable(L, 0, 1); /* u = {} */
--- a/ext/curses/window.c
+++ b/ext/curses/window.c
@@ -42,6 +42,11 @@
#include "ext/curses/chstr.c"
+#if LUA_VERSION_NUM >= 502
+#define MY_LUA_REGISTER(L, name, funcs) luaL_newlib(L, funcs)
+#else
+#define MY_LUA_REGISTER(L, name, funcs) luaL_register(L, name, funcs)
+#endif
static const char *WINDOWMETA = "curses:window";
@@ -1913,7 +1918,8 @@ luaopen_curses_window(lua_State *L)
{
int t, mt;
- luaL_register(L, "curses.window", curses_window_fns);
+ MY_LUA_REGISTER(L, "curses.window", curses_window_fns);
+
t = lua_gettop(L);
luaL_newmetatable(L, WINDOWMETA);
--- a/ext/curses.c
+++ b/ext/curses.c
@@ -93,6 +93,11 @@
static const char *STDSCR_REGISTRY = "curses:stdscr";
static const char *RIPOFF_TABLE = "curses:ripoffline";
+#if LUA_VERSION_NUM >= 502
+#define MY_LUA_REGISTER(L, name, funcs) luaL_newlib(L, funcs)
+#else
+#define MY_LUA_REGISTER(L, name, funcs) luaL_register(L, name, funcs)
+#endif
/***
Create a new line drawing buffer instance.
@@ -1555,7 +1560,7 @@ luaopen_curses_c(lua_State *L)
luaopen_curses_window(L);
luaopen_curses_chstr(L);
- luaL_register(L, "curses", curseslib);
+ MY_LUA_REGISTER(L, "curses", curseslib);
lua_pushliteral(L, "lcurses for " LUA_VERSION " / " PACKAGE_STRING);
lua_setfield(L, -2, "version");
|