changeset 2661:a03f7551bacc v7.3.081

updated for version 7.3.081 Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) Solution: Use transstr(). (partly by Caio Ariede)
author Bram Moolenaar <bram@vim.org>
date Wed, 08 Dec 2010 19:56:58 +0100
parents e19ecdb13f34
children 916c90b37ea9
files src/screen.c src/version.c
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -3405,9 +3405,9 @@ win_line(wp, lnum, startrow, endrow, noc
 # endif
 		   )
 		{
-		    int_u	text_sign;
+		    int	text_sign;
 # ifdef FEAT_SIGN_ICONS
-		    int_u	icon_sign;
+		    int	icon_sign;
 # endif
 
 		    /* Draw two cells with the sign value or blank. */
@@ -6522,8 +6522,17 @@ win_redr_custom(wp, draw_ruler)
 				stl, use_sandbox,
 				fillchar, maxwidth, hltab, tabtab);
     vim_free(stl);
+
+    /* Make all characters printable. */
+    p = transstr(buf);
+    if (p != NULL)
+    {
+	vim_strncpy(buf, p, sizeof(buf) - 1);
+	vim_free(p);
+    }
+
+    /* fill up with "fillchar" */
     len = (int)STRLEN(buf);
-
     while (width < maxwidth && len < (int)sizeof(buf) - 1)
     {
 #ifdef FEAT_MBYTE
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    81,
+/**/
     80,
 /**/
     79,