diff --git a/lib/framework/frame.h b/lib/framework/frame.h index fc93b7461..dba9d14f5 100644 --- a/lib/framework/frame.h +++ b/lib/framework/frame.h @@ -212,7 +212,7 @@ static inline void endian_udword(UDWORD *udword) { #endif } -static inline void endian_sdword(UDWORD *sdword) { +static inline void endian_sdword(SDWORD *sdword) { #ifdef __BIG_ENDIAN__ UBYTE tmp, *ptr; diff --git a/lib/framework/mem.h b/lib/framework/mem.h index 498a00d22..5119b19a1 100644 --- a/lib/framework/mem.h +++ b/lib/framework/mem.h @@ -61,7 +61,7 @@ void memDisplayTreap(STRING *pFileName); #ifdef DEBUG_MALLOC #define MALLOC(size) memMalloc(__FILE__, __LINE__, size) -#define FREE(ptr) { void** p = &(ptr); memFree(__FILE__, __LINE__, *p); *p = NULL; } +#define FREE(ptr) do { memFree(__FILE__, __LINE__, ptr); ptr = NULL; } while(0) #ifndef NO_PTRVALID #define PTRVALID(ptr, size) memPointerValid(ptr, size) #else @@ -73,7 +73,7 @@ void memDisplayTreap(STRING *pFileName); #else // !DEBUG_MALLOC #define MALLOC(size) memMallocRelease(size) -#define FREE(ptr) { void** p = (void**)&(ptr); memFreeRelease(*p); *p = NULL; } +#define FREE(ptr) do { memFreeRelease(ptr); ptr = NULL; } while(0) #define PTRVALID(ptr, size) (TRUE) #define MEMORYREPORT(file) #define MEMORYTREAP(file) memDisplayTreap(file)