diff options
Diffstat (limited to 'src/nvim/garray.h')
-rw-r--r-- | src/nvim/garray.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/garray.h b/src/nvim/garray.h index 52493d6391..b758fce5da 100644 --- a/src/nvim/garray.h +++ b/src/nvim/garray.h @@ -61,4 +61,12 @@ static inline void *ga_append_via_ptr(garray_T *gap, size_t item_size) ga_clear(_gap); \ } while (false) +#define FREE_PTR_PTR(ptr) free(*(ptr)) + +/// Call `free` for every pointer stored in the garray and then frees the +/// garray. +/// +/// @param gap the garray to be freed +#define GA_DEEP_CLEAR_PTR(gap) GA_DEEP_CLEAR(gap, void*, FREE_PTR_PTR) + #endif // NVIM_GARRAY_H |