diff options
Diffstat (limited to 'src/nvim/regexp.c')
-rw-r--r-- | src/nvim/regexp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index dddd347822..3ae3f46db3 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -1104,7 +1104,7 @@ static int get_coll_element(char_u **pp) int l = 1; char_u *p = *pp; - if (p[1] == '.') { + if (p[0] != NUL && p[1] == '.') { if (has_mbyte) l = (*mb_ptr2len)(p + 2); if (p[l + 2] == '.' && p[l + 3] == ']') { @@ -1156,8 +1156,9 @@ static char_u *skip_anyof(char_u *p) else if (*p == '[') { if (get_char_class(&p) == CLASS_NONE && get_equi_class(&p) == 0 - && get_coll_element(&p) == 0) - ++p; /* It was not a class name */ + && get_coll_element(&p) == 0 + && *p != NUL) + ++p; /* It is not a class name and not NUL */ } else ++p; } @@ -2848,7 +2849,7 @@ static int peekchr(void) /* * META contains everything that may be magic sometimes, * except ^ and $ ("\^" and "\$" are only magic after - * "\v"). We now fetch the next character and toggle its + * "\V"). We now fetch the next character and toggle its * magicness. Therefore, \ is so meta-magic that it is * not in META. */ |