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/evalfunc.c b/src/evalfunc.c
index 8ce8c87..4b9b4ed 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2977,7 +2977,7 @@
pt = argvars[0].vval.v_partial;
else
{
- vim_memset(&fref_pt, 0, sizeof(fref_pt));
+ CLEAR_FIELD(fref_pt);
fref_pt.pt_name = argvars[0].vval.v_string;
pt = &fref_pt;
}
@@ -6530,7 +6530,7 @@
}
pos = save_cursor = curwin->w_cursor;
- vim_memset(&sia, 0, sizeof(sia));
+ CLEAR_FIELD(sia);
sia.sa_stop_lnum = (linenr_T)lnum_stop;
#ifdef FEAT_RELTIME
sia.sa_tm = &tm;
@@ -6978,7 +6978,7 @@
{
searchit_arg_T sia;
- vim_memset(&sia, 0, sizeof(sia));
+ CLEAR_FIELD(sia);
sia.sa_stop_lnum = lnum_stop;
#ifdef FEAT_RELTIME
sia.sa_tm = &tm;
@@ -8401,7 +8401,7 @@
lnum = tv_get_lnum(argvars); // -1 on type error
col = (colnr_T)tv_get_number(&argvars[1]) - 1; // -1 on type error
- vim_memset(str, NUL, sizeof(str));
+ CLEAR_FIELD(str);
if (rettv_list_alloc(rettv) != FAIL)
{