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/normal.c b/src/normal.c
index 8ec98e5..7dd74a4 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -500,7 +500,7 @@
int set_prevcount = FALSE;
#endif
- vim_memset(&ca, 0, sizeof(ca)); // also resets ca.retval
+ CLEAR_FIELD(ca); // also resets ca.retval
ca.oap = oap;
// Use a count remembered from before entering an operator. After typing
@@ -3480,7 +3480,7 @@
cmdarg_T ca;
clear_oparg(&oa);
- vim_memset(&ca, 0, sizeof(ca));
+ CLEAR_FIELD(ca);
ca.oap = &oa;
ca.cmdchar = c1;
ca.nchar = c2;
@@ -4308,7 +4308,7 @@
cap->oap->use_reg_one = TRUE;
curwin->w_set_curswant = TRUE;
- vim_memset(&sia, 0, sizeof(sia));
+ CLEAR_FIELD(sia);
i = do_search(cap->oap, dir, dir, pat, cap->count1,
opt | SEARCH_OPT | SEARCH_ECHO | SEARCH_MSG, &sia);
if (wrapped != NULL)