Problem: Hang when using count() with an empty string.
Solution: Return zero for an empty string. (Dominique Pelle, closes #2465)
-*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
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}]])
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)
{
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()
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1410,
/**/
1409,
/**/