aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/garray.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/garray.c')
-rw-r--r--src/nvim/garray.c12
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++);
+}