blob: 2ade6d5b370b03970b70eae4fb32b5702b911837 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/* See LICENSE file for copyright and license details. */
#ifndef UTIL_H
#define UTIL_H
#define MAX(A, B) ((A) > (B) ? (A) : (B))
#define MIN(A, B) ((A) < (B) ? (A) : (B))
#define LEN(A) (sizeof(A)/sizeof(A[0]))
#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B))
#define FAIL_IF(EXP, MSG) {if(EXP){fprintf(stderr, "[\033[31mFAILED %d\033[0m] %s\n", __LINE__, MSG);exit(EXIT_FAILURE);}}
#define PERROR(EXP) {if(EXP){print_error(strerror(errno));}};
void *ecalloc(size_t, size_t);
void *erealloc(void*, size_t);
void die(const char *fmt, ...);
#endif /* UTIL_H */
|