aboutsummaryrefslogtreecommitdiffstats
path: root/util.h
blob: 052a106942da4435ba65eb9ff8ad5a27fc0c270a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define nelem(arr) (sizeof(arr)/sizeof(arr[0]))
#define min(a, b) ((a < b) ? a : b)
#define max(a, b) ((a > b) ? a : b)

#define expect(x) do {                                               \
    if (!(x)) {                                                      \
      fprintf(stderr, "Fatal error: %s:%d: assertion '%s' failed\n", \
        __FILE__, __LINE__, #x);                                     \
      abort();                                                       \
    }                                                                \
  } while (0)


void free_arr(void **arr, int n);
int lsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));