diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-10 18:45:26 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-10 18:45:26 +0100 |
commit | d23a823669d93fb2a570a039173eefe4856ac806 (patch) | |
tree | 617130258eae70e3bd7ef7b6da9c494ffee7b572 /src/macros.h | |
parent | 42443c7d7fecc3a2a72154bb6139b028438617c2 (diff) | |
download | vim-git-d23a823669d93fb2a570a039173eefe4856ac806.tar.gz |
patch 8.0.1496: clearing a pointer takes two linesv8.0.1496
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
Diffstat (limited to 'src/macros.h')
-rw-r--r-- | src/macros.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/macros.h b/src/macros.h index 6e4b813c0..43d6c94cf 100644 --- a/src/macros.h +++ b/src/macros.h @@ -379,3 +379,14 @@ # define mch_enable_flush() # define mch_disable_flush() #endif + +/* + * Like vim_free(), and also set the pointer to NULL. + */ +#define VIM_CLEAR(p) \ + do { \ + if ((p) != NULL) { \ + vim_free(p); \ + (p) = NULL; \ + } \ + } while (0) |