patch 8.2.0559: clearing a struct is verbose
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 5af4105..2409ee6 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -3504,7 +3504,7 @@
// Convert the filter to Windows format.
filterp = convert_filterW(filter);
- vim_memset(&fileStruct, 0, sizeof(OPENFILENAMEW));
+ CLEAR_FIELD(fileStruct);
# ifdef OPENFILENAME_SIZE_VERSION_400W
// be compatible with Windows NT 4.0
fileStruct.lStructSize = OPENFILENAME_SIZE_VERSION_400W;
@@ -4267,7 +4267,7 @@
// Mouse hovers over popup window, scroll it if possible.
mouse_row = wp->w_winrow;
mouse_col = wp->w_wincol;
- vim_memset(&cap, 0, sizeof(cap));
+ CLEAR_FIELD(cap);
cap.arg = zDelta < 0 ? MSCR_UP : MSCR_DOWN;
cap.cmdchar = zDelta < 0 ? K_MOUSEUP : K_MOUSEDOWN;
clear_oparg(&oa);
@@ -6478,7 +6478,7 @@
{
TBBUTTON newtb;
- vim_memset(&newtb, 0, sizeof(newtb));
+ CLEAR_FIELD(newtb);
if (menu_is_separator(menu->name))
{
newtb.iBitmap = 0;