diff options
Diffstat (limited to 'src/nvim/garray.c')
-rw-r--r-- | src/nvim/garray.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/nvim/garray.c b/src/nvim/garray.c index 24b6fb0007..f87a196361 100644 --- a/src/nvim/garray.c +++ b/src/nvim/garray.c @@ -5,7 +5,6 @@ #include <stdint.h> #include <string.h> -#include "nvim/func_attr.h" #include "nvim/garray.h" #include "nvim/log.h" #include "nvim/memory.h" @@ -13,7 +12,7 @@ #include "nvim/strings.h" #ifdef INCLUDE_GENERATED_DECLARATIONS -# include "garray.c.generated.h" // IWYU pragma: export +# include "garray.c.generated.h" #endif /// Clear an allocated growing array. @@ -218,3 +217,12 @@ void ga_append(garray_T *gap, uint8_t c) { GA_APPEND(uint8_t, gap, c); } + +void *ga_append_via_ptr(garray_T *gap, size_t item_size) +{ + if ((int)item_size != gap->ga_itemsize) { + WLOG("wrong item size (%zu), should be %d", item_size, gap->ga_itemsize); + } + ga_grow(gap, 1); + return ((char *)gap->ga_data) + (item_size * (size_t)gap->ga_len++); +} |