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/os_win32.c b/src/os_win32.c
index a42df6f..121ff2a 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2252,8 +2252,7 @@
cb->Regions = (PSMALL_RECT)alloc(cb->NumRegions * sizeof(SMALL_RECT));
if (cb->Regions == NULL)
{
- vim_free(cb->Buffer);
- cb->Buffer = NULL;
+ VIM_CLEAR(cb->Buffer);
return FALSE;
}
}
@@ -2278,10 +2277,8 @@
BufferCoord, /* offset in our buffer */
&ReadRegion)) /* region to save */
{
- vim_free(cb->Buffer);
- cb->Buffer = NULL;
- vim_free(cb->Regions);
- cb->Regions = NULL;
+ VIM_CLEAR(cb->Buffer);
+ VIM_CLEAR(cb->Regions);
return FALSE;
}
cb->Regions[i] = ReadRegion;