diff options
Diffstat (limited to 'jrk.h')
| -rw-r--r-- | jrk.h | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -24,6 +24,8 @@ typedef uint64_t u64; typedef float f32; typedef double f64; +#define JRK_UNUSED(x) (void)x + typedef struct { u8 *data; u64 length; @@ -72,6 +74,9 @@ jrk_StringView jrk_sv_from_cstr(char*); /* NOTE(jake): 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_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)) + #define jrk_emalloc(n) jrk_ecalloc(1, n) #define jrk_arena_destroy(arena) ((arena.data) ? free(arena.data) : (void) 0) @@ -135,6 +140,8 @@ jrk_StringView jrk_sv_from_cstr(char*); #define jrk_sb_append_buf(sb, buf, size) jrk_da_append_many(sb, buf, size) #ifdef JRK_SHORTNAMES + #define UNUSED JRK_UNUSED + #define Arena jrk_Arena #define StringBuilder jrk_StringBuilder #define StringView jrk_StringView @@ -180,6 +187,9 @@ jrk_StringView jrk_sv_from_cstr(char*); #define fd_open_read jrk_fd_open_read #define fd_open_write jrk_fd_open_write #define fd_open_write_append jrk_fd_open_write_append + + #define shift jrk_shift + #define shift_loop jrk_shift_loop #endif // JRK_SHORTNAMES #ifdef JRK_IMPLEMENTATION @@ -282,7 +292,8 @@ jrk_sb_appendf(jrk_StringBuilder *sb, const char *fmt, ...) return n; } -u64 jrk_fd_size(i32 fd) +u64 +jrk_fd_size(i32 fd) { struct stat statbuf = {0}; if (fstat(fd, &statbuf) < 0) @@ -297,7 +308,7 @@ jrk_sb_fd_read_all(jrk_StringBuilder *sb, i32 fd) u64 sz = jrk_fd_size(fd); jrk_da_reserve(sb, sz); if (read(fd, sb->items, sz) < 0) - jrk_ediev("jrk_sb_fd_read_all(%p, %d)", sb, fd); + jrk_ediev("jrk_sb_fd_read_all(%p, %d)", (void *)sb, fd); sb->count = sz; } @@ -308,7 +319,7 @@ jrk_sb_fd_write_all(jrk_StringBuilder *sb, i32 fd) i64 result; result = write(fd, (void *) sb->items, sb->count); if (result < 0) - jrk_ediev("jrk_sb_fd_write_all(%p, %d)", sb, fd); + jrk_ediev("jrk_sb_fd_write_all(%p, %d)", (void *)sb, fd); return result; } |
