diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2019-05-25 14:49:43 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-25 14:49:43 +0200 | 
| commit | 2f023f40b275a904c96d5b287e9e9abe6df1aec7 (patch) | |
| tree | 36f2b5bec81f7144c5bd3787f33959bd60c59e0e /src/nvim/lib/kvec.h | |
| parent | 4769deb36a54c3b2a4a2d2addb2937c1aa7dd629 (diff) | |
| parent | eddd1bff3e7bf8df7405f6b0bfd01a5bb8ba20a9 (diff) | |
| download | rneovim-2f023f40b275a904c96d5b287e9e9abe6df1aec7.tar.gz rneovim-2f023f40b275a904c96d5b287e9e9abe6df1aec7.tar.bz2 rneovim-2f023f40b275a904c96d5b287e9e9abe6df1aec7.zip | |
Merge #10046 from justinmk/xfree
refactor: introduce XFREE_CLEAR()
Diffstat (limited to 'src/nvim/lib/kvec.h')
| -rw-r--r-- | src/nvim/lib/kvec.h | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/src/nvim/lib/kvec.h b/src/nvim/lib/kvec.h index 93b2f053bc..5bd09930a3 100644 --- a/src/nvim/lib/kvec.h +++ b/src/nvim/lib/kvec.h @@ -58,7 +58,11 @@      }  #define kv_init(v) ((v).size = (v).capacity = 0, (v).items = 0) -#define kv_destroy(v) xfree((v).items) +#define kv_destroy(v) \ +    do { \ +      xfree((v).items); \ +      kv_init(v); \ +    } while (0)  #define kv_A(v, i) ((v).items[(i)])  #define kv_pop(v) ((v).items[--(v).size])  #define kv_size(v) ((v).size) @@ -88,7 +92,7 @@        } \        (v1).size = (v0).size; \        memcpy((v1).items, (v0).items, sizeof((v1).items[0]) * (v0).size); \ -    } while (0) \ +    } while (0)  #define kv_pushp(v) \      ((((v).size == (v).capacity) ? (kv_resize_full(v), 0) : 0), \ @@ -138,7 +142,7 @@ static inline void *_memcpy_free(void *const restrict dest,    FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET FUNC_ATTR_ALWAYS_INLINE  {    memcpy(dest, src, size); -  xfree(src); +  XFREE_CLEAR(src);    return dest;  } @@ -201,7 +205,7 @@ static inline void *_memcpy_free(void *const restrict dest,  #define kvi_destroy(v) \      do { \        if ((v).items != (v).init_array) { \ -        xfree((v).items); \ +        XFREE_CLEAR((v).items); \        } \      } while (0) | 
