changeset 18999:6fb11e7fb9cd v8.2.0060

patch 8.2.0060: message test only runs with one encoding Commit: https://github.com/vim/vim/commit/d0337e360e9f0b51a1a5627239d80a45dee8c3be Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 30 17:55:34 2019 +0100 patch 8.2.0060: message test only runs with one encoding Problem: Message test only runs with one encoding. (Dominique Pelle) Solution: Run the test with "utf-8" and "latin1". Fix underflow. (related to #5410)
author Bram Moolenaar <Bram@vim.org>
date Mon, 30 Dec 2019 18:00:04 +0100
parents 3aab88c148ef
children 8a0f02d2c9a0
files src/message.c src/message_test.c src/version.c
diffstat 3 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/message.c
+++ b/src/message.c
@@ -307,7 +307,8 @@ trunc_string(
     }
     else
     {
-	for (i = (int)STRLEN(s); len + (n = ptr2cells(s + i - 1)) <= room; --i)
+	for (i = (int)STRLEN(s);
+		   i - 1 >= 0 && len + (n = ptr2cells(s + i - 1)) <= room; --i)
 	    len += n;
     }
 
--- a/src/message_test.c
+++ b/src/message_test.c
@@ -100,8 +100,14 @@ main(int argc, char **argv)
     params.argc = argc;
     params.argv = argv;
     common_init(&params);
+
+    set_option_value((char_u *)"encoding", 0, (char_u *)"utf-8", 0);
     init_chartab();
+    test_trunc_string();
 
+    set_option_value((char_u *)"encoding", 0, (char_u *)"latin1", 0);
+    init_chartab();
     test_trunc_string();
+
     return 0;
 }
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    60,
+/**/
     59,
 /**/
     58,