changeset 1617:5f0c7aae4da2 v7.1.330

updated for version 7.1-330
author vimboss
date Sat, 21 Jun 2008 14:30:28 +0000
parents dbef8434a2ea
children 46bbe11644e0
files src/misc1.c src/version.c
diffstat 2 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1880,15 +1880,20 @@ ins_bytes_len(p, len)
 # ifdef FEAT_MBYTE
     int		n;
 
-    for (i = 0; i < len; i += n)
-    {
-	n = (*mb_ptr2len)(p + i);
-	ins_char_bytes(p + i, n);
-    }
-# else
-    for (i = 0; i < len; ++i)
-	ins_char(p[i]);
+    if (has_mbyte)
+	for (i = 0; i < len; i += n)
+	{
+	    if (enc_utf8)
+		/* avoid reading past p[len] */
+		n = utfc_ptr2len_len(p + i, len - i);
+	    else
+		n = (*mb_ptr2len)(p + i);
+	    ins_char_bytes(p + i, n);
+	}
+    else
 # endif
+	for (i = 0; i < len; ++i)
+	    ins_char(p[i]);
 }
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    330,
+/**/
     329,
 /**/
     328,