diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Release history for fudgets
 
+## 0.18.4.1 --  2026-10-05
+
+* Fixed some old-style C function declarations that caused problems
+  with gcc>=15, otherwise the same as 0.18.4.
+
 ## 0.18.4 --  2023-06-27
 
 * ``Cla`` (Lennart Augustsson's calculator) is now included.
diff --git a/fudgets.cabal b/fudgets.cabal
--- a/fudgets.cabal
+++ b/fudgets.cabal
@@ -1,6 +1,6 @@
 Name: fudgets
 -- The version number also appears in hsrc/utils/FudVersion.hs
-Version: 0.18.4
+Version: 0.18.4.1
 Cabal-Version: >=1.10
 Synopsis: The Fudgets Library
 Homepage: https://www.altocumulus.org/Fudgets/
diff --git a/xlib/fdzero.c b/xlib/fdzero.c
--- a/xlib/fdzero.c
+++ b/xlib/fdzero.c
@@ -1,4 +1,5 @@
 #include <sys/types.h>
+#include <sys/select.h>
 #include <errno.h>
 #include <stdio.h>
 #include <X11/Xlib.h>
diff --git a/xlib/socketlib/inet.c b/xlib/socketlib/inet.c
--- a/xlib/socketlib/inet.c
+++ b/xlib/socketlib/inet.c
@@ -46,7 +46,7 @@
 #endif
 
 /*
- * $Header: /home/magnus/cvs/Fudgets/xlib/socketlib/inet.c,v 1.7 2013-07-28 12:09:13 hallgren Exp $
+ * $Header: /Users/magnus/cvs/Fudgets/xlib/socketlib/inet.c,v 1.9 2026/02/11 22:04:52 hallgren Exp $
  */
 
 #define PRIVATE				static
@@ -74,8 +74,7 @@
  *		<num>.<num>.<num>
  *		<num>.<num>.<num>.<num>
  */
-PRIVATE int is_number_address( host )
-	char *host ;
+PRIVATE int is_number_address(char *host)
 {
 	register int dot_count = 0 ;
 	register char *p ;
@@ -111,10 +110,7 @@
  * In case of error, errno is set to the value of h_errno, if the OS
  * supports h_errno; if not, the value of errno is undefined.
  */
-int in_address( host, port, address )
-	char *host ;
-	short port ;
-	struct sockaddr_in *address ;
+int in_address(char *host, short port,struct sockaddr_in *address)
 {
 	char host_name[ HOST_NAME_LEN ] ;
 	char *the_host ;
@@ -186,11 +182,9 @@
  *		RESOLVER_ERROR 	: if there is a resolver error
  * In case of error, errno contains a description of the error
  */
-PRIVATE	int bind_address() ;
+PRIVATE int bind_address( int sd, short port );
 
-int in_bind( port, type )
-	short port ;
-	int type ;
+int in_bind(short port,int type)
 {
 	int sd ;
 
@@ -241,9 +235,7 @@
  *		SYSCALL_ERROR	: if bind fails
  *		RESOLVER_ERROR	: if it can't get the address of the local host
  */
-PRIVATE int bind_address( sd, port )
-	int sd ;
-	short port ;
+PRIVATE int bind_address( int sd, short port )
 {
 	struct sockaddr_in sin ;
 	int errno_save ;
@@ -315,7 +307,7 @@
 }
 #endif
 
-PRIVATE	int connect_to_host() ;
+PRIVATE	int connect_to_host(int sd, char *host, short port) ;
 
 /*
  * Connect to an internet address. The address is specified by the
@@ -329,10 +321,7 @@
  *		RESOLVER_ERROR 	: if there is a resolver error
  * In case of error errno contains a description of the error
  */
-int in_connect( host, port, type )
-	char *host ;
-	short port ;
-	int type ;
+int in_connect( char *host, short port, int type )
 {
 	int sd ;
 
@@ -380,10 +369,7 @@
  *		RESOLVER_ERROR		: if there is a resolver error
  *		SYSCALL_ERROR		: if connect(2) fails
  */
-PRIVATE int connect_to_host( sd, host, port )
-	int sd ;
-	char *host ;
-	short port ;
+PRIVATE int connect_to_host(int sd, char *host, short port )
 {
 	struct sockaddr_in sin ;
 	int errno_save ;
