diff options
| -rw-r--r-- | jrk.h | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -167,6 +167,10 @@ char *jrk_tmpstrings_pushf(char*, ...); #define JRK_ARRAY_DEFAULT_REALLOC_FN jrk_erealloc #endif +#ifndef JRK_ARRAY_DEFAULT_FREE_FN + #define JRK_ARRAY_DEFAULT_FREE_FN free +#endif + typedef void *(*jrk_array_alloc_function_t) (u64, u64, void*); typedef void *(*jrk_array_realloc_function_t) (void*, u64, u64, void*); @@ -212,7 +216,7 @@ typedef void *(*jrk_array_realloc_function_t) (void*, u64, u64, void*); void jrk_array_##type##_deinit(jrk_Array_##type *arr) \ { \ if ((arr)->items && !(arr)->allocfn) \ - free((arr)->items); \ + JRK_ARRAY_DEFAULT_FREE_FN((arr)->items); \ } \ \ bool jrk_array_##type##_setcap(jrk_Array_##type *arr, u64 new_capacity) \ @@ -346,7 +350,7 @@ jrk_sb_append_buf_at(jrk_StringBuilder *sb, char *buf, u64 buf_sz, u64 idx) sb->capacity *= 2; } sb->items = __jrk_array_realloc(sb, sb->capacity); - if (!sb->items) return false; \ + if (!sb->items) return false; memset(sb->items + sb->size, 0, sb->capacity - sb->size); } |
