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/ex_eval.c b/src/ex_eval.c
index b1bb7e5..55009e5 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -251,7 +251,7 @@
while (*plist != NULL)
plist = &(*plist)->next;
- elem = (struct msglist *)alloc(sizeof(struct msglist));
+ elem = ALLOC_ONE(struct msglist);
if (elem == NULL)
{
suppress_errthrow = TRUE;
@@ -519,7 +519,7 @@
}
}
- excp = (except_T *)alloc(sizeof(except_T));
+ excp = ALLOC_ONE(except_T);
if (excp == NULL)
goto nomem;
@@ -1441,7 +1441,7 @@
{
eslist_T *elem;
- elem = (eslist_T *)alloc(sizeof(struct eslist_elem));
+ elem = ALLOC_ONE(struct eslist_elem);
if (elem == NULL)
emsg(_(e_outofmem));
else