updated for version 7.0-178
diff --git a/src/mbyte.c b/src/mbyte.c
index 846ce98..735bf65 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -2294,8 +2294,14 @@
 	    }
 	    /* Check directly first, it's faster. */
 	    for (j = 0; j < l; ++j)
+	    {
 		if (s1[i + j] != s2[i + j])
 		    break;
+		if (s1[i + j] == 0)
+		    /* Both stings have the same bytes but are incomplete or
+		     * have illegal bytes, accept them as equal. */
+		    l = j;
+	    }
 	    if (j < l)
 	    {
 		/* If one of the two characters is incomplete return -1. */
diff --git a/src/version.c b/src/version.c
index e20349d..09cbf73 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    178,
+/**/
     177,
 /**/
     176,