diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-28 23:08:19 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-28 23:08:19 +0200 |
commit | c799fe206e61f2e2c1231bc46cbe4bb354f3da69 (patch) | |
tree | 68b3d2a8bb82519e29fc95f317d2ee02b07f95fa /src/vim.h | |
parent | b58a4b938c4bc7e0499700859bd7abba9acc5b11 (diff) | |
download | vim-git-c799fe206e61f2e2c1231bc46cbe4bb354f3da69.tar.gz |
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414
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.
Diffstat (limited to 'src/vim.h')
-rw-r--r-- | src/vim.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -1546,6 +1546,16 @@ typedef UINT32_TYPEDEF UINT32_T; # define R_OK 4 /* for systems that don't have R_OK in unistd.h */ #endif +// Allocate memory for one type and cast the returned pointer to have the +// compiler check the types. +#define ALLOC_ONE(type) (type *)alloc(sizeof(type)) +#define ALLOC_MULT(type, count) (type *)alloc(sizeof(type) * (count)) +#define ALLOC_CLEAR_ONE(type) (type *)alloc_clear(sizeof(type)) +#define ALLOC_CLEAR_MULT(type, count) (type *)alloc_clear(sizeof(type) * (count)) +#define LALLOC_CLEAR_ONE(type) (type *)lalloc_clear(sizeof(type), FALSE) +#define LALLOC_CLEAR_MULT(type, count) (type *)lalloc_clear(sizeof(type) * (count), FALSE) +#define LALLOC_MULT(type, count) (type *)lalloc(sizeof(type) * (count), FALSE) + /* * defines to avoid typecasts from (char_u *) to (char *) and back * (vim_strchr() and vim_strrchr() are now in alloc.c) |