summaryrefslogtreecommitdiff
path: root/sql/sql_string.cc
diff options
context:
space:
mode:
authorbar@mysql.com <>2006-03-23 12:41:28 +0400
committerbar@mysql.com <>2006-03-23 12:41:28 +0400
commit1008146d86869a0c11e8bad638e81bb2e64c4f3e (patch)
treefefc8015db210132d0d029a6d3c30bafda73dc37 /sql/sql_string.cc
parenta4d4ed9ec8d54a82b30f41b85343575a03433c0d (diff)
parent9ac6e558d44706519561f9e1234044fa850737cc (diff)
downloadmariadb-git-1008146d86869a0c11e8bad638e81bb2e64c4f3e.tar.gz
Merge mysql.com:/usr/home/bar/mysql-4.1.b15376
into mysql.com:/usr/home/bar/mysql-5.0
Diffstat (limited to 'sql/sql_string.cc')
-rw-r--r--sql/sql_string.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index fd7bca7ec21..79228be8a76 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -819,8 +819,18 @@ copy_and_convert(char *to, uint32 to_length, CHARSET_INFO *to_cs,
from++;
wc= '?';
}
+ else if (cnvres > MY_CS_TOOSMALL)
+ {
+ /*
+ A correct multibyte sequence detected
+ But it doesn't have Unicode mapping.
+ */
+ error_count++;
+ from+= (-cnvres);
+ wc= '?';
+ }
else
- break; // Impossible char.
+ break; // Not enough characters
outp:
if ((cnvres= (*wc_mb)(to_cs, wc, (uchar*) to, to_end)) > 0)