diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-03-03 14:28:27 +0100 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2022-03-03 14:29:26 +0100 |
commit | dcd03f5d9d280510d0a76365e7c729859ed5103b (patch) | |
tree | b3fe22f41e3d3809acd3e5d882d17c80dffd2a28 /src | |
parent | 7211d8ef21cd93365c5f0582c5a0115e84c011ce (diff) | |
download | rneovim-dcd03f5d9d280510d0a76365e7c729859ed5103b.tar.gz rneovim-dcd03f5d9d280510d0a76365e7c729859ed5103b.tar.bz2 rneovim-dcd03f5d9d280510d0a76365e7c729859ed5103b.zip |
refactor(autocmd): simplify check for freed callback
When a callback is freed the type is always set to kCallbackNone.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/autocmd.c | 2 | ||||
-rw-r--r-- | src/nvim/eval/typval.c | 21 |
2 files changed, 1 insertions, 22 deletions
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index a36d61420a..e7e1d5fd1b 100644 --- a/src/nvim/autocmd.c +++ b/src/nvim/autocmd.c @@ -2473,7 +2473,7 @@ bool aucmd_exec_is_deleted(AucmdExecutable acc) case CALLABLE_EX: return acc.callable.cmd == NULL; case CALLABLE_CB: - return callback_is_freed(acc.callable.cb); + return acc.callable.cb.type == kCallbackNone; case CALLABLE_NONE: return true; } diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c index 44b003d106..d492c67877 100644 --- a/src/nvim/eval/typval.c +++ b/src/nvim/eval/typval.c @@ -1155,27 +1155,6 @@ void callback_free(Callback *callback) callback->data.funcref = NULL; } -/// Check if callback is freed -bool callback_is_freed(Callback callback) -{ - switch (callback.type) { - case kCallbackFuncref: - return false; - break; - case kCallbackPartial: - return false; - break; - case kCallbackLua: - return callback.data.luaref == LUA_NOREF; - break; - case kCallbackNone: - return true; - break; - } - - return true; -} - /// Copy a callback into a typval_T. void callback_put(Callback *cb, typval_T *tv) FUNC_ATTR_NONNULL_ALL |