Add missing standard and Mach/Hurd headers to resolve implicit
function declarations, ensuring compatibility with stricter modern
compilers (e.g., GCC 14+).

Remove <string.h> and 'startup_S.h' as they are no longer used
in this file, reducing namespace pollution.

Finally, add explicit (void *) casts to the out-parameters of
ports_create_port() to silence -Wincompatible-pointer-types
warnings during compilation.
---
 libdiskfs/init-startup.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/libdiskfs/init-startup.c b/libdiskfs/init-startup.c
index e7225c22..997429b3 100644
--- a/libdiskfs/init-startup.c
+++ b/libdiskfs/init-startup.c
@@ -21,15 +21,27 @@
 
 #include "priv.h"
 #include <stdio.h>
-#include <string.h>
+#include <stdlib.h>
 #include <fcntl.h>
 #include <error.h>
+#include <errno.h>
+#include <mach_init.h>
+#include <mach/task_special_ports.h>
+#include <mach/message.h>
+#include <mach/port.h>
+#include <mach.h>
+#include <sys/stat.h>
+#include <hurd.h>
 #include <hurd/fsys.h>
 #include <hurd/paths.h>
+#include <hurd/process.h>
 #include <hurd/startup.h>
+#include <hurd/hurd_types.h>
+#include <libports/ports.h>
+#include <libdiskfs/diskfs.h>
 #include <assert-backtrace.h>
+#include <pthread.h>
 
-#include "startup_S.h"
 
 char *_diskfs_chroot_directory;
 
@@ -42,7 +54,7 @@ diskfs_call_fsys_startup (mach_port_t bootstrap, int flags,
   mach_port_t right;
 
   err = ports_create_port (diskfs_control_class, diskfs_port_bucket,
-                           sizeof (struct port_info), &newpi);
+                           sizeof (struct port_info), (void *)&newpi);
   if (! err)
     {
       right = ports_get_send_right (newpi);
@@ -208,7 +220,7 @@ _diskfs_init_completed (void)
 
   err = ports_create_port (diskfs_shutdown_notification_class,
                           diskfs_port_bucket, sizeof (struct port_info),
-                          &pi);
+                          (void *)&pi);
   if (err)
     goto errout;
 
-- 
2.53.0


Reply via email to