nvi: fix build with gcc14

This commit is contained in:
oreo639 2025-03-31 03:56:49 -07:00
parent 0539e337f6
commit a51ebf2195

View file

@ -0,0 +1,137 @@
From: Michael Hudson-Doyle <michael.hudson@ubuntu.com>
Date: Thu, 11 Apr 2024 11:18:39 +0200
Subject: Add function prototypes to fix implicit function declaration errors
Reviewed-By: Tobias Heider <me@tobhe.de>
Bug-Debian: https://bugs.debian.org/1066285
---
cl/cl.h | 5 +++++
cl/cl_funcs.c | 6 ++++++
common/conv.h | 3 +++
common/multibyte.h | 6 ++++++
dist/configure | 1 +
5 files changed, 21 insertions(+)
diff --git a/cl/cl.h b/cl/cl.h
index 3d71410..4ff232d 100644
--- a/cl/cl.h
+++ b/cl/cl.h
@@ -26,6 +26,11 @@
#endif
#endif
+/*
+ * for setupterm()
+ */
+#include <term.h>
+
typedef struct _cl_private {
char ibuf[256]; /* Input keys. */
diff --git a/cl/cl_funcs.c b/cl/cl_funcs.c
index c5fc597..b6174ef 100644
--- a/cl/cl_funcs.c
+++ b/cl/cl_funcs.c
@@ -31,6 +31,12 @@ static const char sccsid[] = "$Id: cl_funcs.c,v 10.72 2002/03/02 23:18:33 skimo
#include "../vi/vi.h"
#include "cl.h"
+/*
+ * This is declared by ncurses.h, but only if _XOPEN_SOURCE is set and lots of
+ * other things break if we define that.
+ */
+extern int waddnwstr (WINDOW *,const wchar_t *,int);
+
static void cl_rdiv __P((SCR *));
static int
diff --git a/common/conv.h b/common/conv.h
index 76b06c1..a7675c4 100644
--- a/common/conv.h
+++ b/common/conv.h
@@ -21,3 +21,6 @@ struct _conv {
char2wchar_t input2int;
wchar2char_t int2disp;
};
+
+extern int conv_enc (SCR *sp, int option, char *enc);
+extern void conv_init (SCR *orig, SCR *sp);
diff --git a/common/multibyte.h b/common/multibyte.h
index 820f4ec..2484521 100644
--- a/common/multibyte.h
+++ b/common/multibyte.h
@@ -5,6 +5,12 @@
#include <wchar.h>
#include <wctype.h>
+/*
+ * This is declared by wchar.h, but only if _XOPEN_SOURCE is set and lots of
+ * other things break if we define that.
+ */
+extern int wcwidth (wchar_t c);
+
typedef wchar_t RCHAR_T;
#define RCHAR_T_MAX ((1 << 24)-1)
typedef wchar_t CHAR_T;
diff --git a/dist/configure b/dist/configure
index b23e167..d7fb54f 100755
--- a/dist/configure
+++ b/dist/configure
@@ -27385,6 +27385,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$CURSHEADER>
+#include <term.h>
int
main ()
{
From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Date: Mon, 10 Jun 2024 21:16:51 +0900
Subject: Add more function prototypes to fix -Wimplicit-function-declaration
Without this,
$ nvi a b
# ex command
:next
# error
BDB0171 seek: 1024: (1 * 1024) + 0: Bad file descriptor
Like the above, nvi fails to open the next file ("b").
Reviewed-By: Tobias Heider <me@tobhe.de>
Bug-Debian: https://bugs.debian.org/1072923
---
dist/configure | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dist/configure b/dist/configure
index d7fb54f..d78e87d 100755
--- a/dist/configure
+++ b/dist/configure
@@ -26719,6 +26719,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+#include <sys/file.h>
#include <fcntl.h>
int
main ()
@@ -27507,7 +27508,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-
+#include <stdlib.h>
int
main ()
{
@@ -27632,6 +27633,8 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+#include <stdio.h>
+#include <stdlib.h>
main(){char buf[20]; exit(sprintf(buf, "XXX") != 3);}
_ACEOF
rm -f conftest$ac_exeext