aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-17 20:31:21 +0100
committerbfredl <bjorn.linse@gmail.com>2024-02-18 10:15:27 +0100
commitf25fcc68a34c2d51b0715fadc62cb50509de338b (patch)
tree39311fa4d0decc2551d4bcc488544d133df3764f /src/nvim/api/private/helpers.c
parentb12d193b4a68242fb0c7e4f924c8abce3488e1c8 (diff)
downloadrneovim-f25fcc68a34c2d51b0715fadc62cb50509de338b.tar.gz
rneovim-f25fcc68a34c2d51b0715fadc62cb50509de338b.tar.bz2
rneovim-f25fcc68a34c2d51b0715fadc62cb50509de338b.zip
refactor(api): use an arena for mappings
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 1446683b0c..3cbf16fa72 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -581,6 +581,15 @@ String arena_string(Arena *arena, String str)
}
}
+Array arena_take_arraybuilder(Arena *arena, ArrayBuilder *arr)
+{
+ Array ret = arena_array(arena, kv_size(*arr));
+ ret.size = kv_size(*arr);
+ memcpy((ret).items, (*arr).items, sizeof((ret).items[0]) * (ret).size);
+ kvi_destroy(*arr);
+ return ret;
+}
+
void api_free_object(Object value)
{
switch (value.type) {