forked from aniani/vim
patch 8.0.1496: clearing a pointer takes two lines
Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629)
This commit is contained in:
15
src/misc2.c
15
src/misc2.c
@@ -1827,6 +1827,8 @@ copy_option_part(
|
||||
* Replacement for free() that ignores NULL pointers.
|
||||
* Also skip free() when exiting for sure, this helps when we caught a deadly
|
||||
* signal that was caused by a crash in free().
|
||||
* If you want to set NULL after calling this function, you should use
|
||||
* VIM_CLEAR() instead.
|
||||
*/
|
||||
void
|
||||
vim_free(void *x)
|
||||
@@ -1840,19 +1842,6 @@ vim_free(void *x)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Like vim_free(), and also set the pointer to NULL.
|
||||
*/
|
||||
void
|
||||
vim_clear(void **x)
|
||||
{
|
||||
if (*x != NULL)
|
||||
{
|
||||
vim_free(*x);
|
||||
*x = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef HAVE_MEMSET
|
||||
void *
|
||||
vim_memset(void *ptr, int c, size_t size)
|
||||
|
Reference in New Issue
Block a user