diff options
| author | Jake Koroman <jake@jakekoroman.com> | 2025-10-15 10:26:37 -0400 |
|---|---|---|
| committer | Jake Koroman <jake@jakekoroman.com> | 2025-10-15 10:29:30 -0400 |
| commit | 9b5f08d6f013d4b123ca1e00f8ee9f6c15625289 (patch) | |
| tree | 7a3e6d5dbb0dc9e59a6e83523f8706bde1908624 /jrk.h | |
| parent | 8bb0a76de071706c0425755add0d05031ad7ce38 (diff) | |
jrk_assert always exits.
Diffstat (limited to 'jrk.h')
| -rw-r--r-- | jrk.h | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -158,7 +158,6 @@ char *jrk_tmpstrings_pushf(char*, ...); #define jrk_eelog(x) jrk_elog(x": %s", strerror(errno)) #define jrk_eelogv(x, ...) jrk_elogv(x": %s", __VA_ARGS__, strerror(errno)) -#define JRK_NO_EXIT_ON_DIE #ifdef JRK_NO_EXIT_ON_DIE #undef jrk_edie #define jrk_edie jrk_eelog @@ -174,8 +173,21 @@ char *jrk_tmpstrings_pushf(char*, ...); #endif /* 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) +#define jrk_assert(c, msg) \ + do { \ + if (!(c)) { \ + fprintf(stderr, "%s:%d: error: "msg"\n", __FILE__, __LINE__); \ + exit(69); \ + } \ + } while(0) + +#define jrk_assertv(c, msg, ...) \ + do { \ + if (!(c)) { \ + fprintf(stderr, "%s:%d: error: "msg"\n", __FILE__, __LINE__, __VA_ARGS__); \ + exit(69); \ + } \ + } while(0) #define jrk_shift(x, n) ((n)--, *(x)++) #define jrk_shift_loop(x, n, it) for (char *it = jrk_shift(x, n); n >= 0; it = jrk_shift(x, n)) |
