patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
diff --git a/src/autocmd.c b/src/autocmd.c
index 152dabd..21b9ab3 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -1193,7 +1193,7 @@
return FAIL;
}
- ap = (AutoPat *)alloc(sizeof(AutoPat));
+ ap = ALLOC_ONE(AutoPat);
if (ap == NULL)
return FAIL;
ap->pat = vim_strnsave(pat, patlen);
@@ -1242,7 +1242,7 @@
prev_ac = &(ap->cmds);
while ((ac = *prev_ac) != NULL)
prev_ac = &ac->next;
- ac = (AutoCmd *)alloc(sizeof(AutoCmd));
+ ac = ALLOC_ONE(AutoCmd);
if (ac == NULL)
return FAIL;
ac->cmd = vim_strsave(cmd);