buffer: Provide an initializer for di_key

This commit is contained in:
ZyX
2017-02-24 20:14:01 +03:00
parent dfb28c524c
commit 5f7d8f889c

View File

@@ -1452,6 +1452,8 @@ static int top_file_num = 1; ///< highest file number
static inline void buf_init_changedtick(buf_T *const buf) static inline void buf_init_changedtick(buf_T *const buf)
FUNC_ATTR_ALWAYS_INLINE FUNC_ATTR_NONNULL_ALL FUNC_ATTR_ALWAYS_INLINE FUNC_ATTR_NONNULL_ALL
{ {
STATIC_ASSERT(sizeof("changedtick") <= sizeof(buf->changedtick_di.di_key),
"buf->changedtick_di cannot hold large enough keys");
buf->changedtick_di = (dictitem16_T) { buf->changedtick_di = (dictitem16_T) {
.di_flags = DI_FLAGS_RO|DI_FLAGS_FIX, // Must not include DI_FLAGS_ALLOC. .di_flags = DI_FLAGS_RO|DI_FLAGS_FIX, // Must not include DI_FLAGS_ALLOC.
.di_tv = (typval_T) { .di_tv = (typval_T) {
@@ -1459,10 +1461,8 @@ static inline void buf_init_changedtick(buf_T *const buf)
.v_lock = VAR_FIXED, .v_lock = VAR_FIXED,
.vval.v_number = buf->b_changedtick, .vval.v_number = buf->b_changedtick,
}, },
.di_key = "changedtick",
}; };
STATIC_ASSERT(sizeof("changedtick") <= sizeof(buf->changedtick_di.di_key),
"buf->changedtick_di cannot hold large enough keys");
memcpy(buf->changedtick_di.di_key, "changedtick", sizeof("changedtick"));
dict_add(buf->b_vars, (dictitem_T *)&buf->changedtick_di); dict_add(buf->b_vars, (dictitem_T *)&buf->changedtick_di);
} }