void *realloc_db (void *ptr, uint32_t size) { if (ptr && size) return add_ptr (realloc (del_ptr (ptr), size)); else if (size) return malloc_db (size); else free_db (ptr); return NULL; }
void __ckd_free__(void *ptr, char *file, int line) { #if defined(MEM_DEBUG) if (!del_ptr(ptr)) { E_WARN("%p not in allocated ptr list for call %s(%d)\n", ptr, file, line); } printf ("ckd_free from %s(%d): %08x\n", file, line, ptr); fflush (stdout); #endif if (debug) myfree(ptr); else free(ptr); }
void *__ckd_realloc__(void *ptr, size_t new_size, char *caller_file, int caller_line) { void *mem; #if defined(MEM_DEBUG) del_ptr(ptr); #endif mem = debug ? myrealloc(ptr, new_size) : realloc(ptr, new_size); if (mem == NULL) { E_FATAL("realloc(%d) failed from %s(%d)\n", new_size, caller_file, caller_line); } #if defined(MEM_DEBUG) add_ptr(mem, caller_file, caller_line); printf ("ckd_realloc from %s(%d): %08x %d = %08x\n", caller_file, caller_line, ptr, new_size, mem); fflush (stdout); #endif return mem; }
void free_db (void *ptr) { if (ptr) free (del_ptr (ptr)); }