commit 3c5bad3c50d1bd0d1f513b88c718d92081205837
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Feb 17 19:36:19 2025 +0100

    Fix build with gcc-15
    
    Which now defaults to C23.

diff --git a/src/common.c b/src/common.c
index b93c017..2bc3164 100644
--- a/src/common.c
+++ b/src/common.c
@@ -101,10 +101,11 @@ void failure (misc_t *misc, char *str, int e)
    _exit (EXIT_FAILURE);
 } // failure
 
-void player_ended ()
+void player_ended (int sig)
 {
    pid_t kidpid;
    int status;
+   (void) sig;
 
    while ((kidpid = waitpid (-1, &status, WNOHANG)) > 0);
 } // player_ended
diff --git a/src/daisy-player.c b/src/daisy-player.c
index 7e5a361..0280d6f 100644
--- a/src/daisy-player.c
+++ b/src/daisy-player.c
@@ -1256,8 +1256,7 @@ void browse (misc_t *misc, my_attribute_t *my_attribute,
          beep ();
          endwin ();
          printf ("\n");
-         usage ();
-         _exit (EXIT_FAILURE);
+         usage (EXIT_FAILURE);
       } // if
       get_list_of_sound_devices (misc, sound_devices);
       for (sink = 0; sink < misc->total_sinks; sink++)
@@ -1831,7 +1830,7 @@ void browse (misc_t *misc, my_attribute_t *my_attribute,
    quit_daisy_player (misc, my_attribute, daisy);
 } // browse
 
-void usage ()
+void usage (int ret)
 {
    printf (gettext ("Daisy-player - Version %s %s"), PACKAGE_VERSION, "\n");
    puts ("(C)2003-2021 J. Lemmens\n");
@@ -1842,7 +1841,7 @@ void usage ()
            gettext ("[-c cdrom_device] [-d audio_device:audio_type]"));
    printf ("[-h] [-i] [-T] [-n | -y] [-v]\n");
    fflush (stdout);
-   _exit (EXIT_FAILURE);
+   _exit (ret);
 } // usage
 
 char *get_mount_point (misc_t *misc)
@@ -2160,8 +2159,7 @@ int main (int argc, char *argv[])
             beep ();
             endwin ();
             printf ("\n");
-            usage ();
-            _exit (EXIT_FAILURE);
+            usage (EXIT_FAILURE);
          } // if
          get_list_of_sound_devices (&misc, sound_devices);
          for (sink = 0; sink < misc.total_sinks; sink++)
@@ -2180,7 +2178,7 @@ int main (int argc, char *argv[])
       }
       case 'h':
          remove_tmp_dir (&misc);
-         usage (0);
+         usage (EXIT_SUCCESS);
          break;
       case 'i':
          misc.ignore_bookmark = 1;
@@ -2223,7 +2221,7 @@ int main (int argc, char *argv[])
       default:
          beep ();
          remove_tmp_dir (&misc);
-         usage (1);
+         usage (EXIT_FAILURE);
       } // switch
    } // while
    if (c_opt)
@@ -2274,7 +2272,7 @@ int main (int argc, char *argv[])
          beep ();
          fflush (stdout);
          remove_tmp_dir (&misc);
-         usage (1);
+         usage (EXIT_FAILURE);
       } // if
       if (strcasestr (magic_file (myt, argv[optind]), "directory"))
       {
@@ -2341,7 +2339,7 @@ int main (int argc, char *argv[])
          printf ("\n%s\n", gettext ("No DAISY-CD or Audio-cd found"));
          beep ();
          remove_tmp_dir (&misc);
-         usage (1);
+         usage (EXIT_FAILURE);
       } // if
       magic_close (myt);
    } // if there is an argument
diff --git a/src/daisy.h b/src/daisy.h
index bdea115..164cba1 100644
--- a/src/daisy.h
+++ b/src/daisy.h
@@ -184,7 +184,7 @@ extern void go_to_page_number (misc_t *, my_attribute_t *, daisy_t *, audio_info
 extern void make_tmp_dir (misc_t *);
 extern daisy_t *create_daisy_struct (misc_t *, my_attribute_t *, daisy_t *);
 extern void skip_right (misc_t *, daisy_t *, my_attribute_t *, audio_info_t *);
-extern void player_ended ();
+extern void player_ended (int sig);
 extern char *convert_URL_name (misc_t *, char *);
 extern void get_realpath_name (char *, char *, char *);
 extern void failure (misc_t *, char *, int);
@@ -245,7 +245,7 @@ extern void go_to_time (misc_t *, daisy_t *, my_attribute_t *, audio_info_t *,
                         time_t);
 extern void skip_left (misc_t *, my_attribute_t *, daisy_t *, audio_info_t *);
 extern void browse (misc_t *, my_attribute_t *, daisy_t *, audio_info_t *);
-extern void usage ();
+extern void usage (int ret);
 extern char *get_mount_point (misc_t *);
 extern void handle_discinfo (misc_t *, my_attribute_t *, daisy_t *, char *);
 extern void reset_term_signal_handlers_after_fork (void);
diff --git a/src/madplay/audio_cdda.c b/src/madplay/audio_cdda.c
index af28e7c..c321787 100644
--- a/src/madplay/audio_cdda.c
+++ b/src/madplay/audio_cdda.c
@@ -97,9 +97,10 @@ int play(struct audio_play *play)
 }
 
 static
-int finish ()
+int finish (struct audio_finish *finish)
 {
   int result = 0;
+  (void) finish;
 
   /* pad audio to CD frame boundary */
 
diff --git a/src/madplay/audio_wave.c b/src/madplay/audio_wave.c
index ff1dcc1..f1d594d 100644
--- a/src/madplay/audio_wave.c
+++ b/src/madplay/audio_wave.c
@@ -233,9 +233,10 @@ int patch_int32(long address, unsigned long num)
 }
 
 static 
-int finish ()
+int finish (struct audio_finish *finish)
 {
   int result = 0;
+  (void) finish;
 
   if (config_precision == 0) {
     struct audio_config dummy;
