diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-01-03 15:24:41 +0100 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-01-03 17:31:54 +0100 |
commit | b2295ac4ec80e141628cea33ebee81c96e168989 (patch) | |
tree | ee197c75d19b1922d9a1149f8b5e1b7a12a76c70 /src/nvim/eval/funcs.c | |
parent | 5b22b32e50858b781eb2658ba099eaffaa5ea13b (diff) | |
download | rneovim-b2295ac4ec80e141628cea33ebee81c96e168989.tar.gz rneovim-b2295ac4ec80e141628cea33ebee81c96e168989.tar.bz2 rneovim-b2295ac4ec80e141628cea33ebee81c96e168989.zip |
refactor(api): do not allocate temporaries for internal events
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index 77e8e23ab6..d377508e27 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -6322,12 +6322,15 @@ static void f_rpcnotify(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) ADD(args, vim_to_object(tv)); } - if (!rpc_send_event((uint64_t)argvars[0].vval.v_number, - tv_get_string(&argvars[1]), args)) { + bool ok = rpc_send_event((uint64_t)argvars[0].vval.v_number, + tv_get_string(&argvars[1]), args); + + if (!ok) { semsg(_(e_invarg2), "Channel doesn't exist"); return; } + api_free_array(args); rettv->vval.v_number = 1; } |