aboutsummaryrefslogtreecommitdiff
path: root/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'util.h')
-rw-r--r--util.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/util.h b/util.h
new file mode 100644
index 0000000..eb250ae
--- /dev/null
+++ b/util.h
@@ -0,0 +1,32 @@
1#ifndef ITS1_UTIL_H_INCLUDED
2#define ITS1_UTIL_H_INCLUDED
3
4#include <stdio.h>
5#include <stdlib.h>
6#include <stdarg.h>
7
8#ifndef NDEBUG
9static void
10error(const char *msg, ...)
11{
12 va_list ap;
13
14 va_start(ap, msg);
15 fprintf(stderr, "Error: ");
16 vfprintf(stderr, msg, ap);
17 va_end(ap);
18 fprintf(stderr, "\n");
19 exit(EXIT_FAILURE);
20}
21
22#define ERROR(msg) error(msg " in \"%s()\" (%s:%d)", __func__, __FILE__, __LINE__)
23#else
24#define ERROR(msg) /**/
25#endif
26
27#ifndef NELEM
28#define NELEM(x) (sizeof(x) / sizeof(x[0]))
29#endif
30
31#endif
32