34#define fc_malloc(sz) fc_real_malloc((sz), "malloc", \
35 __FC_LINE__, __FILE__)
36#define fc_realloc(ptr,sz) fc_real_realloc((ptr), (sz), "realloc", \
37 __FC_LINE__, __FILE__)
38#define fc_calloc(n,esz) fc_real_calloc((n), (esz), "calloc", \
39 __FC_LINE__, __FILE__)
41#define FC_FREE(ptr) do { free(ptr); (ptr) = nullptr; } while (FALSE)
43#define fc_strdup(str) real_fc_strdup((str), "strdup", __FC_LINE__, __FILE__)
void * fc_real_malloc(size_t size, const char *called_as, int line, const char *file) fc__warn_unused_result
void * fc_real_calloc(size_t nelem, size_t elsize, const char *called_as, int line, const char *file) fc__warn_unused_result
char * real_fc_strdup(const char *str, const char *called_as, int line, const char *file) fc__warn_unused_result
void * fc_real_realloc(void *ptr, size_t size, const char *called_as, int line, const char *file) fc__warn_unused_result
#define fc__warn_unused_result