mk.h
#ifndef MK_H
#define MK_H 1
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#define ASSERT(x) assert(x)
#ifndef NDEBUG
# define assert_ret(x, y) assert(x)
# define ASSERT_RET(x, y) assert(x)
#else
# define assert_ret(x, y) if (x) {} else return y
# define ASSERT_RET(x, y) if (x) {} else return y
#endif
#define TRUE 1
#define FALSE 0
# define MK(sz) \
malloc_check_malloc(sz, __FILE__, __LINE__)
# define M0(num, sz) \
malloc_check_calloc(num, sz, __FILE__, __LINE__)
# define MV(ptr, tmp, sz) \
(((tmp) = malloc_check_realloc(ptr, sz, __FILE__, __LINE__)) && \
((ptr) = (tmp)))
# define F(ptr) \
malloc_check_free(ptr)
#include "malloc-check.h"
#endif