From b34294b67473e8d3ad4b8204327e03d91bcd6214 Mon Sep 17 00:00:00 2001 From: Fabian Greffrath Date: Thu, 26 Mar 2015 18:26:32 +0100 Subject: Add a wrapper with "void (void)" signature around G_CheckDemoStatus This is meant to be passed over to I_AtExit() which expects an argument of void type. It thus prevents undefined behaviour because of the different signature of G_CheckDemoStatus() which is of boolean type. Fixes #519 --- src/doom/d_main.c | 7 ++++++- src/strife/d_main.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/doom/d_main.c b/src/doom/d_main.c index ca722dc6..eb9454ac 100644 --- a/src/doom/d_main.c +++ b/src/doom/d_main.c @@ -1151,6 +1151,11 @@ static void LoadIwadDeh(void) } } +static void G_CheckDemoStatusAtExit (void) +{ + G_CheckDemoStatus(); +} + // // D_DoomMain // @@ -1498,7 +1503,7 @@ void D_DoomMain (void) printf("Playing demo %s.\n", file); } - I_AtExit((atexit_func_t) G_CheckDemoStatus, true); + I_AtExit(G_CheckDemoStatusAtExit, true); // Generate the WAD hash table. Speed things up a bit. W_GenerateHashTable(); diff --git a/src/strife/d_main.c b/src/strife/d_main.c index 35d2c908..186ba28b 100644 --- a/src/strife/d_main.c +++ b/src/strife/d_main.c @@ -1285,6 +1285,11 @@ void D_IntroTick(void) // //============================================================================= +static void G_CheckDemoStatusAtExit (void) +{ + G_CheckDemoStatus(); +} + // // D_DoomMain // @@ -1634,7 +1639,7 @@ void D_DoomMain (void) printf("Playing demo %s.\n", file); } - I_AtExit((atexit_func_t) G_CheckDemoStatus, true); + I_AtExit(G_CheckDemoStatusAtExit, true); // Generate the WAD hash table. Speed things up a bit. -- cgit v1.2.3