vim-patch:7.4.1648

Problem:    Compiler has a problem copying a string into di_key[]. (Yegappan
            Lakshmanan)
Solution:   Add dictitem16_T.

bee6c0cf86
This commit is contained in:
Jurica Bradaric 2016-09-18 21:23:23 +02:00
parent 87fa495b21
commit 42731a9a15
3 changed files with 13 additions and 4 deletions

View File

@ -292,8 +292,8 @@ typedef enum {
.vv_di = { \ .vv_di = { \
.di_tv = { .v_type = type }, \ .di_tv = { .v_type = type }, \
.di_flags = 0, \ .di_flags = 0, \
.di_key = { 0 }, \
}, \ }, \
.vv_filler = { 0 }, \
.vv_flags = flags, \ .vv_flags = flags, \
} }
@ -303,8 +303,7 @@ typedef enum {
// variables with the VV_ defines. // variables with the VV_ defines.
static struct vimvar { static struct vimvar {
char *vv_name; ///< Name of the variable, without v:. char *vv_name; ///< Name of the variable, without v:.
dictitem_T vv_di; ///< Value of the variable, with name. dictitem16_T vv_di; ///< Value and name for key (max 16 chars)
char vv_filler[16]; ///< Space for longest name from below.
char vv_flags; ///< Flags: #VV_COMPAT, #VV_RO, #VV_RO_SBX. char vv_flags; ///< Flags: #VV_COMPAT, #VV_RO, #VV_RO_SBX.
} vimvars[] = } vimvars[] =
{ {

View File

@ -114,6 +114,16 @@ struct dictitem_S {
typedef struct dictitem_S dictitem_T; typedef struct dictitem_S dictitem_T;
/// A dictitem with a 16 character key (plus NUL)
struct dictitem16_S {
typval_T di_tv; ///< type and value of the variable
char_u di_flags; ///< flags (only used for variable)
char_u di_key[17]; ///< key
};
typedef struct dictitem16_S dictitem16_T;
#define DI_FLAGS_RO 1 // "di_flags" value: read-only variable #define DI_FLAGS_RO 1 // "di_flags" value: read-only variable
#define DI_FLAGS_RO_SBX 2 // "di_flags" value: read-only in the sandbox #define DI_FLAGS_RO_SBX 2 // "di_flags" value: read-only in the sandbox
#define DI_FLAGS_FIX 4 // "di_flags" value: fixed: no :unlet or remove() #define DI_FLAGS_FIX 4 // "di_flags" value: fixed: no :unlet or remove()

View File

@ -795,7 +795,7 @@ static int included_patches[] = {
// 1651 NA // 1651 NA
// 1650, // 1650,
1649, 1649,
// 1648, 1648,
// 1647, // 1647,
// 1646 NA // 1646 NA
// 1645, // 1645,