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)
diff --git a/src/ui.c b/src/ui.c
index c77a8e0..5cccd44 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -130,8 +130,7 @@
if (maxlen >= ta_len - ta_off)
{
mch_memmove(buf, ta_str + ta_off, (size_t)ta_len);
- vim_free(ta_str);
- ta_str = NULL;
+ VIM_CLEAR(ta_str);
return ta_len;
}
mch_memmove(buf, ta_str + ta_off, (size_t)maxlen);
@@ -1840,10 +1839,7 @@
unconverted = restlen;
mch_memmove(inbuf + inbufcount, rest, unconverted);
if (unconverted == restlen)
- {
- vim_free(rest);
- rest = NULL;
- }
+ VIM_CLEAR(rest);
else
{
restlen -= unconverted;