diff options
| author | Jack Jamison <jackqjamison@gmail.com> | 2026-07-22 09:09:18 -0400 |
|---|---|---|
| committer | Jack Jamison <jackqjamison@gmail.com> | 2026-07-22 09:09:18 -0400 |
| commit | 5365f8fa8d6ebfbf3ba92816abe55a99feff6f25 (patch) | |
| tree | 563605dabaf611ebb0c1ee1b65aa56690b01b4fd /snag/src/util.h | |
| parent | 165816f7854340c3ca09287aee66968777af61ad (diff) | |
clean up
Diffstat (limited to 'snag/src/util.h')
| -rw-r--r-- | snag/src/util.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/snag/src/util.h b/snag/src/util.h new file mode 100644 index 0000000..3813903 --- /dev/null +++ b/snag/src/util.h @@ -0,0 +1,31 @@ +#ifndef UTIL_H +#define UTIL_H + +#include <stdarg.h> +#include <stddef.h> + +// utility for errors +#if !DEBUG + void log(const char* format, ...) __attribute__((format(printf, 1, 2))); + void die(const char* format, ...) __attribute__((format(printf, 1, 2))); + void* emalloc(size_t size, char* alloc_reason); +#else + #define log(fmt, ...) _log(__LINE__, __FILE__, fmt, ##__VA_ARGS__) + void _log(int line, const char* file, 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(__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 +#define printout(fmt, ...) fprintf(stdout, fmt, ##__VA_ARGS__) +#define print(fmt, ...) fprintf(stderr, fmt, ##__VA_ARGS__) + +// string functions +char* vastrcat_(int dummy, ...); +#define vastrcat(...) vastrcat_(0, __VA_ARGS__, NULL) + +#endif |
