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/ex_getln.c b/src/ex_getln.c
index 4b0645a..accedb5 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -218,7 +218,7 @@
return FALSE;
++emsg_off;
- vim_memset(&ea, 0, sizeof(ea));
+ CLEAR_FIELD(ea);
ea.line1 = 1;
ea.line2 = 1;
ea.cmd = ccline.cmdbuff;
@@ -459,7 +459,7 @@
search_flags += SEARCH_START;
ccline.cmdbuff[skiplen + patlen] = NUL;
#ifdef FEAT_RELTIME
- vim_memset(&sia, 0, sizeof(sia));
+ CLEAR_FIELD(sia);
sia.sa_tm = &tm;
#endif
found = do_search(NULL, firstc == ':' ? '/' : firstc, search_delim,
@@ -758,7 +758,7 @@
void
cmdline_init(void)
{
- vim_memset(&ccline, 0, sizeof(cmdline_info_T));
+ CLEAR_FIELD(ccline);
}
/*
@@ -834,7 +834,7 @@
did_save_ccline = TRUE;
}
if (init_ccline)
- vim_memset(&ccline, 0, sizeof(cmdline_info_T));
+ CLEAR_FIELD(ccline);
#ifdef FEAT_EVAL
if (firstc == -1)
@@ -2464,7 +2464,7 @@
did_save_ccline = TRUE;
}
- vim_memset(&ccline, 0, sizeof(cmdline_info_T));
+ CLEAR_FIELD(ccline);
ccline.cmdprompt = prompt;
ccline.cmdattr = attr;
# ifdef FEAT_EVAL
@@ -3504,7 +3504,7 @@
{
if (!prev_ccline_used)
{
- vim_memset(&prev_ccline, 0, sizeof(cmdline_info_T));
+ CLEAR_FIELD(prev_ccline);
prev_ccline_used = TRUE;
}
*ccp = prev_ccline;