diff options
| -rw-r--r-- | src/base/system.c | 6 | ||||
| -rw-r--r-- | src/base/system.h | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/base/system.c b/src/base/system.c index 88b73f32..4acb2494 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -240,7 +240,7 @@ void mem_zero(void *block,unsigned size) memset(block, 0, size); } -void mem_check() +int mem_check_imp() { MEMHEADER *header = first; while(header) @@ -249,10 +249,12 @@ void mem_check() if(tail->guard != MEM_GUARD_VAL) { dbg_msg("mem", "Memory check failed at %s(%d): %d", header->filename, header->line, header->size); - dbg_assert(0, "Memory check failed"); + return 0; } header = header->next; } + + return 1; } IOHANDLE io_open(const char *filename, int flags) diff --git a/src/base/system.h b/src/base/system.h index 36f370cd..9271be5a 100644 --- a/src/base/system.h +++ b/src/base/system.h @@ -166,7 +166,8 @@ int mem_comp(const void *a, const void *b, int size); Validates the heap Will trigger a assert if memory has failed. */ -void mem_check(); +int mem_check_imp(); +#define mem_check() dbg_assert_imp(__FILE__, __LINE__, mem_check_imp(), "Memory check failed") /* Group: File IO */ enum { |