aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lib/ringbuf.h
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-05-22 00:10:35 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-05-25 10:01:17 +0200
commita9d7ec4587d8eb20f12ebecc427ad818fb0e4971 (patch)
tree4a3ec8787e9dae501ea2c1430c13c174f289ac4b /src/nvim/lib/ringbuf.h
parent4769deb36a54c3b2a4a2d2addb2937c1aa7dd629 (diff)
downloadrneovim-a9d7ec4587d8eb20f12ebecc427ad818fb0e4971.tar.gz
rneovim-a9d7ec4587d8eb20f12ebecc427ad818fb0e4971.tar.bz2
rneovim-a9d7ec4587d8eb20f12ebecc427ad818fb0e4971.zip
refactor: introduce XFREE_CLEAR()
Unfortunately we cannot indiscriminately replace xfree() with XFREE_CLEAR(), because comparing pointers after freeing them is a common pattern. Example in `tv_list_remove_items()`: xfree(li); if (li == item2) { break; } Instead we can do it selectively/explicitly. ref #1375
Diffstat (limited to 'src/nvim/lib/ringbuf.h')
-rw-r--r--src/nvim/lib/ringbuf.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/lib/ringbuf.h b/src/nvim/lib/ringbuf.h
index e63eae70b0..cb79eaf742 100644
--- a/src/nvim/lib/ringbuf.h
+++ b/src/nvim/lib/ringbuf.h
@@ -136,14 +136,14 @@ static inline void funcprefix##_rb_free(TypeName##RingBuffer *const rb) \
RINGBUF_FORALL(rb, RBType, rbitem) { \
rbfree(rbitem); \
} \
- xfree(rb->buf); \
+ XFREE_CLEAR(rb->buf); \
} \
\
static inline void funcprefix##_rb_dealloc(TypeName##RingBuffer *const rb) \
REAL_FATTR_UNUSED; \
static inline void funcprefix##_rb_dealloc(TypeName##RingBuffer *const rb) \
{ \
- xfree(rb->buf); \
+ XFREE_CLEAR(rb->buf); \
} \
\
static inline void funcprefix##_rb_push(TypeName##RingBuffer *const rb, \