updated for version 7.2a-006
diff --git a/src/charset.c b/src/charset.c
index 282e857..0c9c511 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -449,13 +449,15 @@
{
if (enc_utf8)
{
- int c, lc;
+ int c = utf_ptr2char(STR_PTR(i));
+ int ol = utf_ptr2len(STR_PTR(i));
+ int lc = utf_tolower(c);
- c = utf_ptr2char(STR_PTR(i));
- lc = utf_tolower(c);
- if (c != lc)
+ /* Only replace the character when it is not an invalid
+ * sequence (ASCII character or more than one byte) and
+ * utf_tolower() doesn't return the original character. */
+ if ((c < 0x80 || ol > 1) && c != lc)
{
- int ol = utf_char2len(c);
int nl = utf_char2len(lc);
/* If the byte length changes need to shift the following
diff --git a/src/version.c b/src/version.c
index 95d6d54..d8a008d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 6,
+/**/
5,
/**/
4,