diff options
Diffstat (limited to 'src/win95/our_mem.c')
| -rw-r--r-- | src/win95/our_mem.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/win95/our_mem.c b/src/win95/our_mem.c new file mode 100644 index 0000000..32a81ec --- /dev/null +++ b/src/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 +}; + |
