changeset 16572:f37255166ff4 v8.1.1289

patch 8.1.1289: may not have enough space to add "W" to search stats commit https://github.com/vim/vim/commit/b6cb26ffe1795ae62d8235960dccf517c2b2ed45 Author: Bram Moolenaar <Bram@vim.org> Date: Tue May 7 21:34:37 2019 +0200 patch 8.1.1289: may not have enough space to add "W" to search stats Problem: May not have enough space to add "W" to search stats. Solution: Reserve a bit more space. (Christian Brabandt)
author Bram Moolenaar <Bram@vim.org>
date Tue, 07 May 2019 21:45:05 +0200
parents ba3c4eaaec90
children 23b28ec23103
files src/search.c src/version.c
diffstat 2 files changed, 15 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/search.c
+++ b/src/search.c
@@ -1219,6 +1219,7 @@ do_search(
     char_u	    *ps;
     char_u	    *msgbuf = NULL;
     size_t	    len;
+#define SEARCH_STAT_BUF_LEN 12
 
     /*
      * A line offset is not remembered, this is vi compatible.
@@ -1399,8 +1400,8 @@ do_search(
 		else
 		    // Use up to 'showcmd' column.
 		    len = (int)(Rows - msg_row - 1) * Columns + sc_col - 1;
-		if (len < STRLEN(p) + 40 + 11)
-		    len = STRLEN(p) + 40 + 11;
+		if (len < STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1)
+		    len = STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1;
 	    }
 	    else
 		// Reserve enough space for the search pattern + offset.
@@ -4982,37 +4983,36 @@ search_stat(
     }
     if (cur > 0)
     {
-#define STAT_BUF_LEN 12
-	char	t[STAT_BUF_LEN] = "";
+	char	t[SEARCH_STAT_BUF_LEN] = "";
 	int	len;
 
 #ifdef FEAT_RIGHTLEFT
 	if (curwin->w_p_rl && *curwin->w_p_rlc == 's')
 	{
 	    if (cur == OUT_OF_TIME)
-		vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
 	    else if (cnt > 99 && cur > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
 	    else if (cnt > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/%d]", cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/%d]", cur);
 	    else
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cnt, cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cnt, cur);
 	}
 	else
 #endif
 	{
 	    if (cur == OUT_OF_TIME)
-		vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
 	    else if (cnt > 99 && cur > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
 	    else if (cnt > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/>99]", cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/>99]", cur);
 	    else
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cur, cnt);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cur, cnt);
 	}
 
 	len = STRLEN(t);
-	if (show_top_bot_msg && len + 3 < STAT_BUF_LEN)
+	if (show_top_bot_msg && len + 3 < SEARCH_STAT_BUF_LEN)
 	{
 	    STRCPY(t + len, " W");
 	    len += 2;
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1289,
+/**/
     1288,
 /**/
     1287,