Clang16 will not allow implicit function declaration, implicit int etc. by default. This patch overhauls the source code to build with clan16 defaults. Bug: https://bugs.gentoo.org/874960 Original patch by Pascal Jäger , minor adjustments by Hanno Böck. diff -Naurp a/inews/clientlib.c b/inews/clientlib.c --- a/inews/clientlib.c 1996-06-06 21:41:07.000000000 +0200 +++ b/inews/clientlib.c 2022-11-26 18:32:09.383423565 +0100 @@ -14,6 +14,7 @@ static char *sccsid = "@(#)clientlib.c 1 #include "../config.h" #endif +#include #include #ifndef FOR_NN #include @@ -52,6 +53,7 @@ static char *sccsid = "@(#)clientlib.c 1 #endif #include "nntp.h" +#include "clientlib.h" FILE *ser_rd_fp = NULL; FILE *ser_wr_fp = NULL; @@ -133,7 +135,7 @@ char *file; * for reading and writing to server. */ -server_init(machine) +int server_init(machine) char *machine; { int sockt_rd, sockt_wr; @@ -194,7 +196,7 @@ char *machine; * Errors: Printed via perror. */ -get_tcp_socket(machine) +int get_tcp_socket(machine) char *machine; { int s; @@ -218,7 +220,6 @@ char *machine; * fails. */ if( (hp = gethostbyname( machine ) ) == NULL ) { - unsigned long inet_addr(); static struct hostent def; static struct in_addr defaddr; static char *alist[1]; @@ -344,7 +345,7 @@ char *machine; * Errors: Printed via nerror. */ -get_dnet_socket(machine) +int get_dnet_socket(machine) char *machine; { int s, area, node; @@ -427,7 +428,7 @@ char *machine; * Side effects: None. */ -handle_server_response(response, server) +int handle_server_response(response, server) int response; char *server; { @@ -502,7 +503,7 @@ char *string; * Side effects: Talks to server, changes contents of "string". */ -get_server(string, size) +int get_server(string, size) char *string; int size; { diff -Naurp a/inews/clientlib.h b/inews/clientlib.h --- a/inews/clientlib.h 1996-06-06 21:41:07.000000000 +0200 +++ b/inews/clientlib.h 2022-11-26 18:27:59.711248861 +0100 @@ -9,3 +9,7 @@ extern int server_init(); extern void put_server(); extern int get_server(); extern void close_server(); + +extern int get_tcp_socket(char *machine); +extern int get_server(char *string, int size); +extern int handle_server_response(int response, char *server); diff -Naurp a/inews/inews.c b/inews/inews.c --- a/inews/inews.c 2004-01-29 03:14:19.000000000 +0100 +++ b/inews/inews.c 2022-11-26 18:32:26.200435328 +0100 @@ -39,15 +39,20 @@ static char *sccsid = "@(#)inews.c 1.16 #include "conf.h" #include "nntp.h" +#include "clientlib.h" #define MAX_SIGNATURE 6 +int strneql(char *a, char *b, int n); +void gen_frompath(void); +int valid_header(register char *h); + extern FILE *ser_wr_fp; char host_name[256]; -main(argc, argv) +int main(argc, argv) int argc; char *argv[]; { @@ -254,7 +259,7 @@ append_signature() * a From: line in it. */ -gen_frompath() +void gen_frompath() { char *full_name; char *cp; @@ -330,7 +335,7 @@ gen_frompath() * Side effects: None. */ -strneql(a, b, n) +int strneql(a, b, n) register char *a, *b; int n; {