aboutsummaryrefslogtreecommitdiff
path: root/snag/src/util.h
diff options
context:
space:
mode:
authorJack Jamison <jackqjamison@gmail.com>2026-07-23 14:03:35 -0400
committerJack Jamison <jackqjamison@gmail.com>2026-07-23 14:03:35 -0400
commitd9bc99629dd3f8624df98ead06f400c4ffb3880b (patch)
tree8c1ab815ffa8aeb87fc30bfcb0b5f3a03d1e9252 /snag/src/util.h
parentfa4344e5dedff14af2bce55d29a272495dd6bbb5 (diff)
asserts and cleanup
Diffstat (limited to 'snag/src/util.h')
-rw-r--r--snag/src/util.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/snag/src/util.h b/snag/src/util.h
index 1300ace..0c684a4 100644
--- a/snag/src/util.h
+++ b/snag/src/util.h
@@ -3,18 +3,23 @@
#include <stdarg.h>
#include <stddef.h>
+#include <stdbool.h>
// utility for errors
#if !DEBUG
void die(const char* format, ...) __attribute__((format(printf, 1, 2)));
void* emalloc(size_t size, char* alloc_reason);
+ #define assert(condition) ((void)0)
#else
+ #define die(fmt, ...) _die(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
+ void _die(const char* file, int line, const char* format, ...) __attribute__((format(printf, 3, 4)));
- #define die(fmt, ...) _die(__LINE__, __FILE__, fmt, ##__VA_ARGS__)
- void _die(int line, const char* file, const char* format, ...) __attribute__((format(printf, 3, 4)));
+ #define emalloc(size, alloc_reason) _emalloc(__FILE__, __LINE__, size, alloc_reason)
+ void* _emalloc(const char* file, int line, size_t size, char* alloc_reason);
+
+ #define assert(condition) do { if (!(condition)) _failassert(__FILE__, __LINE__, #condition); } while(0)
+ void _failassert(const char* file, int line, char* contents);
- #define emalloc(size, alloc_reason) _emalloc(__LINE__, __FILE__, size, alloc_reason)
- void* _emalloc(int line, const char* file, size_t size, char* alloc_reason);
#endif
// functions for outputting and displaying text, log is used for nonroutine bad things