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/undo.c b/src/undo.c
index 54a6e1c..c5ce306 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -662,7 +662,7 @@
uep = U_ALLOC_LINE(sizeof(u_entry_T));
if (uep == NULL)
goto nomem;
- vim_memset(uep, 0, sizeof(u_entry_T));
+ CLEAR_POINTER(uep);
#ifdef U_DEBUG
uep->ue_magic = UE_MAGIC;
#endif
@@ -1288,7 +1288,7 @@
uhp = U_ALLOC_LINE(sizeof(u_header_T));
if (uhp == NULL)
return NULL;
- vim_memset(uhp, 0, sizeof(u_header_T));
+ CLEAR_POINTER(uhp);
#ifdef U_DEBUG
uhp->uh_magic = UH_MAGIC;
#endif
@@ -1405,7 +1405,7 @@
uep = U_ALLOC_LINE(sizeof(u_entry_T));
if (uep == NULL)
return NULL;
- vim_memset(uep, 0, sizeof(u_entry_T));
+ CLEAR_POINTER(uep);
#ifdef U_DEBUG
uep->ue_magic = UE_MAGIC;
#endif
@@ -1532,7 +1532,7 @@
#endif
bufinfo_T bi;
- vim_memset(&bi, 0, sizeof(bi));
+ CLEAR_FIELD(bi);
if (name == NULL)
{
@@ -1814,7 +1814,7 @@
#endif
bufinfo_T bi;
- vim_memset(&bi, 0, sizeof(bi));
+ CLEAR_FIELD(bi);
line_ptr.ul_len = 0;
line_ptr.ul_line = NULL;