patch 9.0.1391: "clear" macros are not always used
Problem: "clear" macros are not always used.
Solution: Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
places. (Yegappan Lakshmanan, closes #12104)
diff --git a/src/optionstr.c b/src/optionstr.c
index 0389ed0..f88325c 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -2714,13 +2714,7 @@
char_u *cp;
if (!((*varp)[0]) || ((*varp)[0] == '0' && !((*varp)[1])))
- {
- if (curbuf->b_p_vsts_array)
- {
- vim_free(curbuf->b_p_vsts_array);
- curbuf->b_p_vsts_array = 0;
- }
- }
+ VIM_CLEAR(curbuf->b_p_vsts_array);
else
{
for (cp = *varp; *cp; ++cp)
@@ -2755,13 +2749,7 @@
char_u *cp;
if (!((*varp)[0]) || ((*varp)[0] == '0' && !((*varp)[1])))
- {
- if (curbuf->b_p_vts_array)
- {
- vim_free(curbuf->b_p_vts_array);
- curbuf->b_p_vts_array = NULL;
- }
- }
+ VIM_CLEAR(curbuf->b_p_vts_array);
else
{
for (cp = *varp; *cp; ++cp)