diff options
author | Alexander Barkov <bar@mysql.com> | 2009-05-05 11:55:22 +0500 |
---|---|---|
committer | Alexander Barkov <bar@mysql.com> | 2009-05-05 11:55:22 +0500 |
commit | 0df00705495937111ef20fa5050e90ca1e223ca3 (patch) | |
tree | 746e54f0ec1dbb6d28b263b1b7b1681c7b1887b2 /strings | |
parent | ad7518418ca73f9ed25f5c4e45826d055d3ceac7 (diff) | |
download | mariadb-git-0df00705495937111ef20fa5050e90ca1e223ca3.tar.gz |
Bug#44352 UPPER/LOWER function doesn't work correctly
on cp932 and sjis environment.
Problem: case conversion erroneously changes the second bytes
of multi-byte sequences because single-byte functions were
called in a mistake.
Fix: call multi-byte aware functions instead.
Diffstat (limited to 'strings')
-rw-r--r-- | strings/ctype-cp932.c | 8 | ||||
-rw-r--r-- | strings/ctype-sjis.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c index c1aba0b35c6..07191c436b7 100644 --- a/strings/ctype-cp932.c +++ b/strings/ctype-cp932.c @@ -5489,10 +5489,10 @@ static MY_CHARSET_HANDLER my_charset_handler= my_mb_wc_cp932, /* mb_wc */ my_wc_mb_cp932, /* wc_mb */ my_mb_ctype_mb, - my_caseup_str_8bit, - my_casedn_str_8bit, - my_caseup_8bit, - my_casedn_8bit, + my_caseup_str_mb, + my_casedn_str_mb, + my_caseup_mb, + my_casedn_mb, my_snprintf_8bit, my_long10_to_str_8bit, my_longlong10_to_str_8bit, diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c index 3925b76869c..ac426e0d7b5 100644 --- a/strings/ctype-sjis.c +++ b/strings/ctype-sjis.c @@ -4650,10 +4650,10 @@ static MY_CHARSET_HANDLER my_charset_handler= my_mb_wc_sjis, /* mb_wc */ my_wc_mb_sjis, /* wc_mb */ my_mb_ctype_mb, - my_caseup_str_8bit, - my_casedn_str_8bit, - my_caseup_8bit, - my_casedn_8bit, + my_caseup_str_mb, + my_casedn_str_mb, + my_caseup_mb, + my_casedn_mb, my_snprintf_8bit, my_long10_to_str_8bit, my_longlong10_to_str_8bit, |