aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/memory.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-20 12:19:47 +0100
committerGitHub <noreply@github.com>2024-02-20 12:19:47 +0100
commit69bdcc68234e7f228b667f95b0e65d4ebe8d1f80 (patch)
tree23e28db7aa89921f2fc17d315926d6e473f099e0 /src/nvim/memory.c
parent8952a89db588db10a9dba16356f9bbd35ca5fabb (diff)
parentf2c73e9ee2bd094f21f55dc97c5ad8d2f3a51621 (diff)
downloadrneovim-69bdcc68234e7f228b667f95b0e65d4ebe8d1f80.tar.gz
rneovim-69bdcc68234e7f228b667f95b0e65d4ebe8d1f80.tar.bz2
rneovim-69bdcc68234e7f228b667f95b0e65d4ebe8d1f80.zip
Merge pull request #27536 from bfredl/bufferarena
refactor(api): reduce temporary allocations when replacing lines
Diffstat (limited to 'src/nvim/memory.c')
-rw-r--r--src/nvim/memory.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c
index d001685e63..4520635137 100644
--- a/src/nvim/memory.c
+++ b/src/nvim/memory.c
@@ -667,14 +667,20 @@ void arena_mem_free(ArenaMem mem)
}
}
-char *arena_memdupz(Arena *arena, const char *buf, size_t size)
+char *arena_allocz(Arena *arena, size_t size)
{
char *mem = arena_alloc(arena, size + 1, false);
- memcpy(mem, buf, size);
mem[size] = NUL;
return mem;
}
+char *arena_memdupz(Arena *arena, const char *buf, size_t size)
+{
+ char *mem = arena_allocz(arena, size);
+ memcpy(mem, buf, size);
+ return mem;
+}
+
#if defined(EXITFREE)
# include "nvim/autocmd.h"