aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/encode.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-12-10 22:04:43 +0300
committerZyX <kp-pav@yandex.ru>2017-12-10 22:04:43 +0300
commitac4bbf55f6d6b9b252dd90fe800626850022b690 (patch)
tree41535a05962e9c04bb2d955abebc61aa87ca2bca /src/nvim/eval/encode.h
parent5c1ddb5078c90f69c7225a7b2e74ccb914dcdd6a (diff)
downloadrneovim-ac4bbf55f6d6b9b252dd90fe800626850022b690.tar.gz
rneovim-ac4bbf55f6d6b9b252dd90fe800626850022b690.tar.bz2
rneovim-ac4bbf55f6d6b9b252dd90fe800626850022b690.zip
*: Hide list implementation in other files as well
Diffstat (limited to 'src/nvim/eval/encode.h')
-rw-r--r--src/nvim/eval/encode.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/eval/encode.h b/src/nvim/eval/encode.h
index 9bc665253b..ccea245ab3 100644
--- a/src/nvim/eval/encode.h
+++ b/src/nvim/eval/encode.h
@@ -33,9 +33,10 @@ int encode_vim_to_echo(garray_T *const packer,
/// Structure defining state for read_from_list()
typedef struct {
+ const list_T *const list; ///< List being currently read.
const listitem_T *li; ///< Item currently read.
- size_t offset; ///< Byte offset inside the read item.
- size_t li_length; ///< Length of the string inside the read item.
+ size_t offset; ///< Byte offset inside the read item.
+ size_t li_length; ///< Length of the string inside the read item.
} ListReaderState;
/// Initialize ListReaderState structure
@@ -43,11 +44,13 @@ static inline ListReaderState encode_init_lrstate(const list_T *const list)
FUNC_ATTR_NONNULL_ALL
{
return (ListReaderState) {
- .li = list->lv_first,
+ .list = list,
+ .li = tv_list_first(list),
.offset = 0,
- .li_length = (list->lv_first->li_tv.vval.v_string == NULL
+ .li_length = (TV_LIST_ITEM_TV(tv_list_first(list))->vval.v_string == NULL
? 0
- : STRLEN(list->lv_first->li_tv.vval.v_string)),
+ : STRLEN(TV_LIST_ITEM_TV(
+ tv_list_first(list))->vval.v_string)),
};
}