jrk

my own c stdlib to keep myself sane
git clone git://git.jakekoroman.com/jrk
Log | Files | Refs

commit 9b923c5afce53d6f2b6e7d2fad8c432352aa786e
parent 59eb2871d7e16708eee84b4b2c80b1bd2f8339ac
Author: Jake Koroman <jake@jakekoroman.com>
Date:   Mon, 22 Sep 2025 11:39:36 -0400

remove jrk_die from JRK_IMPLEMENTATION block.

Diffstat:
Mjrk.h | 41+++++++++++++++++++----------------------
1 file changed, 19 insertions(+), 22 deletions(-)

diff --git a/jrk.h b/jrk.h @@ -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) {