lib: fix memory logging
* lib/memory.h
* mtype_zcalloc(): correct function prototype
* XFREE(): make both definitions consistent in setting
the pointer to NULL after freeing the memory
These changes will only have an effect if MEMORY_LOG is defined
(it is not by default).
diff --git a/lib/memory.h b/lib/memory.h
index 42eb5ca..a7eddce 100644
--- a/lib/memory.h
+++ b/lib/memory.h
@@ -46,7 +46,10 @@
#define XREALLOC(mtype, ptr, size) \
mtype_zrealloc (__FILE__, __LINE__, (mtype), (ptr), (size))
#define XFREE(mtype, ptr) \
- mtype_zfree (__FILE__, __LINE__, (mtype), (ptr))
+ do { \
+ mtype_zfree (__FILE__, __LINE__, (mtype), (ptr)); \
+ ptr = NULL; } \
+ while (0)
#define XSTRDUP(mtype, str) \
mtype_zstrdup (__FILE__, __LINE__, (mtype), (str))
#else
@@ -69,8 +72,7 @@
extern void *mtype_zmalloc (const char *file, int line, int type, size_t size);
-extern void *mtype_zcalloc (const char *file, int line, int type,
- size_t num, size_t size);
+extern void *mtype_zcalloc (const char *file, int line, int type, size_t size);
extern void *mtype_zrealloc (const char *file, int line, int type, void *ptr,
size_t size);