Realloc bufsz only if no error
[clinfo] / src / memory.h
1 /* Memory handling */
2
3 #include <stdlib.h>
4
5 #define CHECK_MEM(var, what) do { \
6         if (!var) { \
7                 fprintf(stderr, "%s:%d: %s : Out of memory\n", \
8                         __func__, __LINE__, what); \
9                 exit(1); \
10         } \
11 } while (0)
12
13 #define ALLOC(var, num, what) do { \
14         var = calloc(num, sizeof(*(var))); \
15         CHECK_MEM(var, what); \
16 } while (0)
17
18 #define REALLOC(var, num, what) do { \
19         var = realloc(var, (num)*sizeof(*var)); \
20         CHECK_MEM(var, what); \
21 } while (0)