diff options
Diffstat (limited to 'main/minimime/mm_mem.h')
-rw-r--r-- | main/minimime/mm_mem.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/main/minimime/mm_mem.h b/main/minimime/mm_mem.h new file mode 100644 index 000000000..5b00e4bee --- /dev/null +++ b/main/minimime/mm_mem.h @@ -0,0 +1,32 @@ +#ifndef __MEM_H +#define __MEM_H + +#ifdef __HAVE_LEAK_DETECTION + +#define NAMEOF(v) #v +#define xmalloc(x) MM_malloc(x, __FILE__, __LINE__) +#define xfree(x) MM_free(x, __FILE__, __LINE__, NAMEOF(x)) +#define xstrdup(x) MM_strdup(x, __FILE__, __LINE__) +#define xrealloc(x, y) MM_realloc(x, y, __FILE__, __LINE__) + +TAILQ_HEAD(MM_chunks, MM_mem_chunk); + +struct MM_mem_chunk { + void *address; + const char *filename; + u_int32_t line; + size_t size; + + TAILQ_ENTRY(MM_mem_chunk) next; +}; + +void *MM_malloc(size_t, char *, int); +void *MM_realloc(void *, size_t, char *, int); +void MM_free(void *, char *, int, char *); +char *MM_strdup(const char *, char *, int); +void MM_leakd_init(void); +void MM_leakd_printallocated(void); +void MM_leakd_flush(void); + +#endif /* __HAVE_LEAK_DETECTION */ +#endif /* ! HAVE_MEM_H */ |