46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
// see license file for original license.
|
|
|
|
#ifndef tools_glutess_memalloc
|
|
#define tools_glutess_memalloc
|
|
|
|
////////////////////////////////////////////////////////
|
|
/// inlined C code : ///////////////////////////////////
|
|
////////////////////////////////////////////////////////
|
|
|
|
#ifdef TOOLS_MEM
|
|
#include <tools/mem>
|
|
#include <cstdlib>
|
|
namespace tools {
|
|
inline void* mem_alloc(size_t a_size){
|
|
tools::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) tools::mem::increment(tools::s_malloc().c_str());
|
|
return ::realloc(a_ptr,a_size);
|
|
}
|
|
inline void mem_free(void* a_ptr){
|
|
if(a_ptr!=NULL) tools::mem::decrement(tools::s_malloc().c_str());
|
|
::free(a_ptr);
|
|
}
|
|
inline int mem_init( size_t /*maxFast*/) {return 1;}
|
|
|
|
}
|
|
#else
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
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
|