summaryrefslogtreecommitdiffstats
path: root/src/H5MMprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5MMprivate.h')
-rw-r--r--src/H5MMprivate.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/H5MMprivate.h b/src/H5MMprivate.h
index f94a433..39bba2c 100644
--- a/src/H5MMprivate.h
+++ b/src/H5MMprivate.h
@@ -14,7 +14,7 @@
*
* Created: H5MMprivate.h
*
- * Purpose: Private header for memory management.
+ * Purpose: Private header for memory management
*
*-------------------------------------------------------------------------
*/
@@ -26,19 +26,33 @@
/* Private headers needed by this file */
#include "H5private.h"
-#define H5MM_free(Z) free(Z)
+/* Uncomment this macro to enable some extra memory checks
+ *
+ * This can also be defined at configure time, which we do in debug builds
+ * by default.
+ */
+/* #define H5MM_DEBUG */
+
+#define H5MM_calloc(Z) calloc(1, Z)
+#define H5MM_free(Z) free(Z)
+#define H5MM_malloc(Z) malloc(Z)
+
+#ifndef H5MM_DEBUG
+#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
+#endif /* !H5MM_DEBUG */
/*
* Library prototypes...
*/
-H5_DLL void *H5MM_malloc(size_t size) H5_ATTR_MALLOC;
-H5_DLL void *H5MM_calloc(size_t size) H5_ATTR_MALLOC;
H5_DLL void *H5MM_realloc(void *mem, size_t size);
H5_DLL char *H5MM_xstrdup(const char *s) H5_ATTR_MALLOC;
H5_DLL char *H5MM_strdup(const char *s) H5_ATTR_MALLOC;
H5_DLL char *H5MM_strndup(const char *s, size_t n) H5_ATTR_MALLOC;
H5_DLL void *H5MM_xfree(void *mem);
H5_DLL void *H5MM_xfree_const(const void *mem);
+
+#ifdef H5MM_DEBUG
H5_DLL void *H5MM_memcpy(void *dest, const void *src, size_t n);
+#endif
#endif /* H5MMprivate_H */