diff --git a/lib/clib/mem.c b/lib/clib/mem.c index 76e247eb..a00abea3 100644 --- a/lib/clib/mem.c +++ b/lib/clib/mem.c @@ -43,29 +43,6 @@ #define Debug(x,y,z,w) #endif -#ifdef __cplusplus -#if (__GNUC__ > 2) -#include -void* operator new (size_t size) throw(std::bad_alloc) { - return AllocMemSafe(size); -} - -void* operator new[] (size_t size) throw(std::bad_alloc) { - return AllocMemSafe(size); -} - -void operator delete (void* ptr) throw() { - FreeMemSafe(ptr); -} - -void operator delete[] (void* ptr) throw() { - FreeMemSafe(ptr); -} -#else - -#endif -#endif - struct MemoryBlock { struct MemoryBlock *next; diff --git a/lib/platform.h b/lib/platform.h index 1ff94bfe..bb30282b 100644 --- a/lib/platform.h +++ b/lib/platform.h @@ -148,6 +148,28 @@ inline void operator delete[] (void* ptr) { #endif #endif + +#ifdef __cplusplus +#if (__GNUC__ > 2) +#include +inline void* operator new (size_t size) throw(std::bad_alloc) { + return AllocMemSafe(size); +} + +inline void* operator new[] (size_t size) throw(std::bad_alloc) { + return AllocMemSafe(size); +} + +inline void operator delete (void* ptr) throw() { + FreeMemSafe(ptr); +} + +inline void operator delete[] (void* ptr) throw() { + FreeMemSafe(ptr); +} +#endif +#endif + #if defined(ANSICONSOLE) #define HEADLINE "\x1B[1m" #ifdef UNIX