0
0
mirror of https://github.com/vim/vim.git synced 2025-07-25 10:54:51 -04:00

patch 8.0.1410: hang when using count() with an empty string

Problem:    Hang when using count() with an empty string.
Solution:   Return zero for an empty string. (Dominique Pelle, closes #2465)
This commit is contained in:
Bram Moolenaar 2017-12-19 11:55:26 +01:00
parent 132f75255e
commit 338e47fdfd
4 changed files with 7 additions and 4 deletions

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.0. Last change: 2017 Dec 16
*eval.txt* For Vim version 8.0. Last change: 2017 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@ -3338,8 +3338,8 @@ count({comp}, {expr} [, {ic} [, {start}]]) *count()*
When {ic} is given and it's |TRUE| then case is ignored.
When {comp} is a string then the number of not overlapping
occurrences of {expr} is returned.
occurrences of {expr} is returned. Zero is returned when
{expr} is an empty string.
*cscope_connection()*
cscope_connection([{num} , {dbpath} [, {prepend}]])

View File

@ -2382,7 +2382,7 @@ f_count(typval_T *argvars, typval_T *rettv)
char_u *p = argvars[0].vval.v_string;
char_u *next;
if (!error && expr != NULL && p != NULL)
if (!error && expr != NULL && *expr != NUL && p != NULL)
{
if (ic)
{

View File

@ -692,6 +692,7 @@ func Test_count()
call assert_equal(0, count("foo", "O"))
call assert_equal(2, count("foo", "O", 1))
call assert_equal(2, count("fooooo", "oo"))
call assert_equal(0, count("foo", ""))
endfunc
func Test_changenr()

View File

@ -771,6 +771,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1410,
/**/
1409,
/**/