diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2023-12-07 13:01:42 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2023-12-07 13:09:31 +0100 |
commit | a16218d4c6773c474011149661470af6e8c90892 (patch) | |
tree | 4d18136e38aaa7e0afed05e8e7a6b3a754e39089 /src/nvim/api/private | |
parent | cca6c4c6986abc67cd213ad1d32d329384a57790 (diff) | |
download | rneovim-a16218d4c6773c474011149661470af6e8c90892.tar.gz rneovim-a16218d4c6773c474011149661470af6e8c90892.tar.bz2 rneovim-a16218d4c6773c474011149661470af6e8c90892.zip |
refactor: object_to_vim() cannot fail
Since the parent commit, object_to_vim() can't fail, so callers don't
need to check its result.
Diffstat (limited to 'src/nvim/api/private')
-rw-r--r-- | src/nvim/api/private/converter.c | 22 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.c | 4 |
2 files changed, 4 insertions, 22 deletions
diff --git a/src/nvim/api/private/converter.c b/src/nvim/api/private/converter.c index 1e11683c38..e7b8934c97 100644 --- a/src/nvim/api/private/converter.c +++ b/src/nvim/api/private/converter.c @@ -258,9 +258,7 @@ Object vim_to_object(typval_T *obj) /// @param tv Conversion result is placed here. On failure member v_type is /// set to VAR_UNKNOWN (no allocation was made for this variable). /// @param err Error object. -/// -/// @returns true if conversion is successful, otherwise false. -bool object_to_vim(Object obj, typval_T *tv, Error *err) +void object_to_vim(Object obj, typval_T *tv, Error *err) { tv->v_type = VAR_UNKNOWN; tv->v_lock = VAR_UNLOCKED; @@ -307,12 +305,7 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) for (uint32_t i = 0; i < obj.data.array.size; i++) { Object item = obj.data.array.items[i]; typval_T li_tv; - - if (!object_to_vim(item, &li_tv, err)) { - tv_list_free(list); - return false; - } - + object_to_vim(item, &li_tv, err); tv_list_append_owned_tv(list, li_tv); } tv_list_ref(list); @@ -329,14 +322,7 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) KeyValuePair item = obj.data.dictionary.items[i]; String key = item.key; dictitem_T *const di = tv_dict_item_alloc(key.data); - - if (!object_to_vim(item.value, &di->di_tv, err)) { - // cleanup - tv_dict_item_free(di); - tv_dict_free(dict); - return false; - } - + object_to_vim(item.value, &di->di_tv, err); tv_dict_add(dict, di); } dict->dv_refcount++; @@ -353,6 +339,4 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) break; } } - - return true; } diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index b23684aee9..2772fa8b59 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -253,9 +253,7 @@ Object dict_set_var(dict_T *dict, String key, Object value, bool del, bool retva typval_T tv; // Convert the object to a vimscript type in the temporary variable - if (!object_to_vim(value, &tv, err)) { - return rv; - } + object_to_vim(value, &tv, err); typval_T oldtv = TV_INITIAL_VALUE; |