diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-12-08 19:56:58 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-12-08 19:56:58 +0100 |
commit | 7c5676b5d68249dabd86bb1da542ba4f103bee07 (patch) | |
tree | ab694b8471382cf7ad7b1a27fe5e5c9f58710a15 /src | |
parent | 56f7804065b164ab35369a3c645be534f50304a7 (diff) | |
download | vim-git-7c5676b5d68249dabd86bb1da542ba4f103bee07.tar.gz |
updated for version 7.3.081v7.3.081
Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution: Use transstr(). (partly by Caio Ariede)
Diffstat (limited to 'src')
-rw-r--r-- | src/screen.c | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/screen.c b/src/screen.c index 380eb8b3b..2f21d462c 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3405,9 +3405,9 @@ win_line(wp, lnum, startrow, endrow, nochange) # 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); - len = (int)STRLEN(buf); + /* 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 diff --git a/src/version.c b/src/version.c index 494a6b993..13cd448b5 100644 --- 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, |