aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/garray.c
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2014-12-11 12:42:52 -0300
committerFelipe Oliveira Carvalho <felipekde@gmail.com>2014-12-11 20:22:36 -0300
commit8ee5659d83383d857039f8fc58d7ebc21df27905 (patch)
tree548d178953fe620fd2edda4e746a0186ad222aed /src/nvim/garray.c
parentb603404487e0daa101deacbe346aa2fc9ee255c7 (diff)
downloadrneovim-8ee5659d83383d857039f8fc58d7ebc21df27905.tar.gz
rneovim-8ee5659d83383d857039f8fc58d7ebc21df27905.tar.bz2
rneovim-8ee5659d83383d857039f8fc58d7ebc21df27905.zip
GA_DEEP_FREE_PTR: deep free macro for garrays that store simple pointers
By "simple pointer" I mean a pointer that can be freed with a call to `free` without leaking any member pointer. This macro does exactly what `ga_clear_strings` does.
Diffstat (limited to 'src/nvim/garray.c')
-rw-r--r--src/nvim/garray.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/nvim/garray.c b/src/nvim/garray.c
index 08a38493bf..c4f8f66bfe 100644
--- a/src/nvim/garray.c
+++ b/src/nvim/garray.c
@@ -37,10 +37,7 @@ void ga_clear(garray_T *gap)
/// @param gap
void ga_clear_strings(garray_T *gap)
{
- for (int i = 0; i < gap->ga_len; ++i) {
- free(((char_u **)(gap->ga_data))[i]);
- }
- ga_clear(gap);
+ GA_DEEP_CLEAR_PTR(gap);
}
/// Initialize a growing array.