From 25c2673323b4940fa18f4a894962f29024dd6724 Mon Sep 17 00:00:00 2001 From: jsalmon3 <> Date: Tue, 21 May 2002 00:15:18 +0000 Subject: [PATCH] Fix the free macro for gdb/mingw --- src/include/freecraft.h | 5 +++-- src/stratagus/player.cpp | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/include/freecraft.h b/src/include/freecraft.h index 995e30554..c7d875a78 100644 --- a/src/include/freecraft.h +++ b/src/include/freecraft.h @@ -100,9 +100,10 @@ #endif -#ifdef WIN32 +#if defined(WIN32) && defined(DEBUG) +// GDB + MINGW doesn't like free(0) #include <stdlib.h> -#define free(x) do { if( (x) ) free(x); } while(0) +#define free(x) do { void* __x; __x=(x); if( __x ) free( __x ); } while(0) #endif #endif // } __GNUC__ diff --git a/src/stratagus/player.cpp b/src/stratagus/player.cpp index 863dbae0a..2aba2d85b 100644 --- a/src/stratagus/player.cpp +++ b/src/stratagus/player.cpp @@ -127,8 +127,7 @@ global void CleanPlayers(void) // if( (ptr=RaceWcNames) ) { // Free all old names while( *ptr ) { - free(*ptr); - ptr++; + free(*ptr++); } free(RaceWcNames); RaceWcNames=NULL;