diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-02-20 13:44:50 +0100 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2024-02-21 11:58:28 +0100 |
commit | 3cc54586be7760652e8bad88cae82ce74ef9432e (patch) | |
tree | d39cab2ecf5fb8f8bfc44ecf40c6fb2efb13a241 /src/nvim/eval/funcs.c | |
parent | 9bb046d1be5aa9ba0482b2cad050b286d4b78978 (diff) | |
download | rneovim-3cc54586be7760652e8bad88cae82ce74ef9432e.tar.gz rneovim-3cc54586be7760652e8bad88cae82ce74ef9432e.tar.bz2 rneovim-3cc54586be7760652e8bad88cae82ce74ef9432e.zip |
refactor(api): make freeing of return-value opt-in instead of opt out
As only a few API functions make use of explicit freeing of the return
value, make it opt-in instead. The arena is always present under the
hood, so `Arena *arena` arg now doesn't mean anything other than getting
access to this arena. Also it is in principle possible to return an
allocated value while still using the arena as scratch space for other
stuff (unlikely, but there no reason to not allow it).
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index e5af50c8f8..01e666887a 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -377,7 +377,7 @@ static void api_wrapper(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) object_to_vim_take_luaref(&result, rettv, true, &err); end: - if (!handler.arena_return) { + if (handler.ret_alloc) { api_free_object(result); } arena_mem_free(arena_finish(&arena)); |