74 #define WS_MEM_DEBUG 1 143 #define ws_malloc(_s) ws_malloc_i((_s), __FILE__, __LINE__) 144 #define ws_calloc(_n, _s) ws_calloc_i((_n), (_s), __FILE__, __LINE__) 145 #define ws_realloc(_p, _s) ws_realloc_i((_p), (_s), __FILE__, __LINE__) 146 #define ws_memdup(_p, _s) ws_memdup_i((_p), (_s), __FILE__, __LINE__) 147 #define ws_strdup(_s) ws_strdup_i((_s), __FILE__, __LINE__) 148 #define ws_free(_p) ws_free_i((_p)) 152 void *ws_malloc_i(
size_t size,
const char *
file,
int line);
153 void *ws_calloc_i(
size_t num,
size_t size,
const char *
file,
int line);
154 void *ws_realloc_i(
void *ptr,
size_t size,
const char *
file,
int line);
155 void *ws_memdup_i(
const void *ptr,
size_t size,
const char *
file,
int line);
156 void *ws_strdup_i(
const char *str,
const char *
file,
int line);
157 void ws_free_i(
void *ptr);
162 int ws_has_leaks(
void);
167 void ws_dump_blocks(
void);
175 void ws_clear_leaks(
unsigned int num_successful_allocs);
void * ws_calloc(size_t num, size_t size)
void * ws_strdup(const char *str)
void * ws_malloc(size_t size)
void * ws_memdup(const void *ptr, size_t size)
void * ws_realloc(void *ptr, size_t size)