diff options
Diffstat (limited to 'dynarr.h')
| -rw-r--r-- | dynarr.h | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -7,12 +7,7 @@ #include "wrmr.h" -typedef struct { - u32 n, c; - void *v; -} DynArrHdr; - -#define DYNARR(T) struct { u32 n, c; T *v; } +#define DYNARR(T) struct { u32 n, c_; T *v; } #define DA_INIT_CAP 32 #define DA_ELEM(da, n) ((n) * sizeof(*(da)->v)) @@ -20,8 +15,8 @@ typedef struct { /* malloc */ #define DA_FIT(da, n) do {\ - (da)->c = stdc_bit_ceil(n);\ - (da)->v = realloc((da)->v, DA_ELEM(da, (da)->c));\ + (da)->c_ = stdc_bit_ceil(n);\ + (da)->v = realloc((da)->v, DA_ELEM(da, (da)->c_));\ if (!(da)->v) FAIL_WITH_MSG("failed to realloc dynamic array");\ } while(0) #define DA_GROW(da, n_) DA_FIT(da, (da)->n + (n_)) @@ -39,9 +34,9 @@ typedef struct { #define DA_AFIT(da, a, n) do {\ u32 da_fit_c = stdc_bit_ceil(n);\ - (da)->v = arena_realloc(a, (da)->v, DA_ELEM(da, (da)->c),\ + (da)->v = arena_realloc(a, (da)->v, DA_ELEM(da, (da)->c_),\ DA_ELEM(da, da_fit_c), _Alignof(TYPEOF(*(da)->v)));\ - (da)->c = da_fit_c;\ + (da)->c_ = da_fit_c;\ } while(0) #define DA_AGROW(da, a, n_) DA_AFIT(da, a, (da)->n + (n_)) #define DA_APUSH(da, a, ...) do {\ |
