Added deinit command to free the memory
This commit is contained in:
parent
c80b38d82d
commit
c0edd1cf07
2 changed files with 6 additions and 1 deletions
|
|
@ -60,6 +60,10 @@ void dyn_arr_pop(void *array, size_t item_size) {
|
||||||
header = realloc(dyna_get_header(array), new_size);
|
header = realloc(dyna_get_header(array), new_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dyna_deinit(void *array) {
|
||||||
|
free(dyna_get_header(array));
|
||||||
|
}
|
||||||
|
|
||||||
bool dyna_empty(void *array) {
|
bool dyna_empty(void *array) {
|
||||||
if (dyna_length(array) == 0) {
|
if (dyna_length(array) == 0) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
* - clear aka erase
|
* - clear aka erase
|
||||||
* - insert
|
* - insert
|
||||||
* - (optional) insert range
|
* - (optional) insert range
|
||||||
* - pop
|
|
||||||
* - (optional) swap
|
* - (optional) swap
|
||||||
* - (optional) resize
|
* - (optional) resize
|
||||||
* - Sanity checks
|
* - Sanity checks
|
||||||
|
|
@ -41,6 +40,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)))
|
#define dyna_pop(array) dyn_arr_pop(array, sizeof(typeof(*array)))
|
||||||
void dyn_arr_pop(void *array, size_t item_size);
|
void dyn_arr_pop(void *array, size_t item_size);
|
||||||
|
|
||||||
|
void dyna_deinit(void *array);
|
||||||
|
|
||||||
// Get meta data
|
// Get meta data
|
||||||
#define dyna_get_header(array) ((dyna_header *)(array)-1)
|
#define dyna_get_header(array) ((dyna_header *)(array)-1)
|
||||||
#define dyna_length(array) (dyna_get_header(array)->length)
|
#define dyna_length(array) (dyna_get_header(array)->length)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue