// see license file for original license. #ifndef tools_glutess_memalloc #define tools_glutess_memalloc //////////////////////////////////////////////////////// /// inlined C code : /////////////////////////////////// //////////////////////////////////////////////////////// #ifdef TOOLS_MEM #include "../mem" #include namespace tools { inline void* mem_alloc(size_t a_size){ mem::increment(tools::s_malloc().c_str()); return ::malloc(a_size); } inline void* mem_realloc(void* a_ptr,size_t a_size){ if(a_ptr==NULL) mem::increment(tools::s_malloc().c_str()); return ::realloc(a_ptr,a_size); } inline void mem_free(void* a_ptr){ if(a_ptr!=NULL) mem::decrement(tools::s_malloc().c_str()); ::free(a_ptr); } inline int mem_init( size_t /*maxFast*/) {return 1;} } #else #include #include namespace tools { inline void* mem_alloc(size_t a_size) {return ::memset( ::malloc( a_size ), 0xa5, a_size);} inline void* mem_realloc(void* a_ptr,size_t a_size){return ::realloc(a_ptr,a_size);} inline void mem_free(void* a_ptr){::free(a_ptr);} inline int mem_init( size_t /*maxFast*/) {return 1;} } #endif #define memAlloc tools::mem_alloc #define memRealloc tools::mem_realloc #define memFree tools::mem_free #define memInit tools::mem_init #endif