diff options
Diffstat (limited to 'ext/tarkin/mem.h')
-rw-r--r-- | ext/tarkin/mem.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ext/tarkin/mem.h b/ext/tarkin/mem.h new file mode 100644 index 00000000..f218f8e4 --- /dev/null +++ b/ext/tarkin/mem.h @@ -0,0 +1,32 @@ +#ifndef __MEM_H +#define __MEM_H + +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + + +#if defined(DBG_MEMLEAKS) + +extern void* dbg_malloc (char *file, int line, char *func, size_t bytes); +extern void* dbg_calloc (char *file, int line, char *func, size_t count, size_t bytes); +extern void* dbg_realloc (char *file, int line, char *func, char *what, void *mem, size_t bytes); +extern void dbg_free (char *file, int line, char *func, char *what, void *mem); + +#define MALLOC(bytes) dbg_malloc(__FILE__,__LINE__,__FUNCTION__,bytes) +#define CALLOC(count,bytes) dbg_calloc(__FILE__,__LINE__,__FUNCTION__,count,bytes) +#define FREE(mem) dbg_free(__FILE__,__LINE__,__FUNCTION__,#mem,mem) +#define REALLOC(mem,bytes) dbg_realloc(__FILE__,__LINE__,__FUNCTION__,#mem,mem,bytes) + +#else + +#define MALLOC malloc +#define CALLOC calloc +#define REALLOC realloc +#define FREE free + +#endif + +#endif + |