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/term.c b/src/term.c
index e831f8d..cd0e7d3 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4187,8 +4187,7 @@
if (tc_len == tc_max_len)
{
tc_max_len += 20;
- new_tc = (struct termcode *)alloc(
- tc_max_len * sizeof(struct termcode));
+ new_tc = ALLOC_MULT(struct termcode, tc_max_len);
if (new_tc == NULL)
{
tc_max_len -= 20;
@@ -6420,7 +6419,7 @@
if (tc_len == 0) /* no terminal codes (must be GUI) */
return;
- items = (int *)alloc(sizeof(int) * tc_len);
+ items = ALLOC_MULT(int, tc_len);
if (items == NULL)
return;
@@ -7071,8 +7070,7 @@
{
if (!counting)
{
- colornames_table = (struct rgbcolor_table_S *)alloc(
- sizeof(struct rgbcolor_table_S) * size);
+ colornames_table = ALLOC_MULT(struct rgbcolor_table_S, size);
if (colornames_table == NULL)
{
fclose(fd);