Subject: Add function prototypes to fix implicit function declaration errors
From: Michael Hudson-Doyle <[email-masked]>
Date: Thu, 11 Apr 2024 11:18:39 +0200

Reviewed-By: Tobias Heider <[email-masked]>
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 ()
 {