Added deinit command to free the memory
This commit is contained in:
parent
c80b38d82d
commit
66a2b9375f
2 changed files with 8 additions and 0 deletions
|
|
@ -60,6 +60,12 @@ void dyn_arr_pop(void *array, size_t item_size) {
|
|||
header = realloc(dyna_get_header(array), new_size);
|
||||
}
|
||||
|
||||
void dyna_deinit(void *array) {
|
||||
dyna_header *header = dyna_get_header(array);
|
||||
header = NULL;
|
||||
free(dyna_get_header(array));
|
||||
}
|
||||
|
||||
bool dyna_empty(void *array) {
|
||||
if (dyna_length(array) == 0) {
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ void *dyna_ensure_capacity(void *array, size_t item_count, size_t item_size);
|
|||
#define dyna_pop(array) dyn_arr_pop(array, sizeof(typeof(*array)))
|
||||
void dyn_arr_pop(void *array, size_t item_size);
|
||||
|
||||
void dyna_deinit(void *array);
|
||||
|
||||
// Get meta data
|
||||
#define dyna_get_header(array) ((dyna_header *)(array)-1)
|
||||
#define dyna_length(array) (dyna_get_header(array)->length)
|
||||
|
|
|
|||
Loading…
Reference in a new issue