diff options
Diffstat (limited to '3dc/win95/OUR_MEM.C')
| -rw-r--r-- | 3dc/win95/OUR_MEM.C | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/3dc/win95/OUR_MEM.C b/3dc/win95/OUR_MEM.C new file mode 100644 index 0000000..32a81ec --- /dev/null +++ b/3dc/win95/OUR_MEM.C @@ -0,0 +1,54 @@ +#include "3dc.h" + +#include <malloc.h> + +#define UseLocalAssert No + +#include "ourasert.h" + +#if debug +int alloc_cnt = 0; +int deall_cnt = 0; +#endif + +void *AllocMem(size_t __size); +void DeallocMem(void *__ptr); + +/* Note: Never use AllocMem directly ! */ +/* Instead use AllocateMem() which is a */ +/* macro defined in mem3dc.h that allows */ +/* for debugging info. */ + +void *AllocMem(size_t __size) +{ + GLOBALASSERT(__size>0); + #if debug + alloc_cnt++; + #endif + + return malloc(__size); +}; + +/* Note: Never use DeallocMem directly ! */ +/* Instead use DeallocateMem() which is a */ +/* macro defined in mem3dc.h that allows */ +/* for debugging info. */ + +void DeallocMem(void *__ptr) +{ + #if debug + deall_cnt++; + #endif + + if(__ptr) free(__ptr); + + #if debug + else { + + textprint("ERROR - freeing null ptr\n"); + WaitForReturn(); + + } + #endif +}; + |
