diff options
Diffstat (limited to 'jrk.h')
| -rw-r--r-- | jrk.h | 41 |
1 files changed, 19 insertions, 22 deletions
@@ -101,6 +101,21 @@ char *jrk_tmpstrings_pushf(char *, ...); #define jrk_sv_chop_delim_loop(sv, it, delim) \ for (jrk_StringView it = jrk_sv_chop_delim(sv, delim); it.count != 0; it = jrk_sv_chop_delim(sv, delim)) +#define jrk_die(x) \ + do { \ + fprintf(stderr, "%s:%d: error: "x" \n", __FILE__, __LINE__); \ + exit(69); \ + } while(0) + +#define jrk_diev(x, ...) \ + do { \ + fprintf(stderr, "%s:%d: error: "x"\n", __FILE__, __LINE__, __VA_ARGS__); \ + exit(69); \ + } while(0) + +#define jrk_edie(x) jrk_diev(x": %s", strerror(errno)) +#define jrk_ediev(x, ...) jrk_diev(x": %s", __VA_ARGS__, strerror(errno)) + /* NOTE: no shortname as 'assert' is just too generic */ #define jrk_assert(c, msg) do { if (!(c)) jrk_die("jrk_assert: "msg); } while(0) #define jrk_assertv(c, msg, ...) do { if (!(c)) jrk_diev("jrk_assert: "msg, __VA_ARGS__); } while(0) @@ -219,6 +234,10 @@ char *jrk_tmpstrings_pushf(char *, ...); #define TERABYTES JRK_TERABYTES #define return_defer jrk_return_defer + #define die jrk_die + #define diev jrk_diev + #define edie jrk_edie + #define ediev jrk_ediev #define Arena jrk_Arena #define StringBuilder jrk_StringBuilder @@ -296,28 +315,6 @@ char *jrk_tmpstrings_pushf(char *, ...); #include <sys/stat.h> #include <unistd.h> -#define jrk_die(x) \ - do { \ - fprintf(stderr, "%s:%d: error: "x" \n", __FILE__, __LINE__); \ - exit(69); \ - } while(0) - -#define jrk_diev(x, ...) \ - do { \ - fprintf(stderr, "%s:%d: error: "x"\n", __FILE__, __LINE__, __VA_ARGS__); \ - exit(69); \ - } while(0) - -#define jrk_edie(x) jrk_diev(x": %s", strerror(errno)) -#define jrk_ediev(x, ...) jrk_diev(x": %s", __VA_ARGS__, strerror(errno)) - -#ifdef JRK_SHORTNAMES - #define die jrk_die - #define diev jrk_diev - #define edie jrk_edie - #define ediev jrk_ediev -#endif // JRK_SHORTNAMES - void * jrk_ecalloc(u64 nmemb, u64 size) { |
