summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mysql.com>2009-05-05 11:55:22 +0500
committerAlexander Barkov <bar@mysql.com>2009-05-05 11:55:22 +0500
commit0df00705495937111ef20fa5050e90ca1e223ca3 (patch)
tree746e54f0ec1dbb6d28b263b1b7b1681c7b1887b2 /strings
parentad7518418ca73f9ed25f5c4e45826d055d3ceac7 (diff)
downloadmariadb-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.c8
-rw-r--r--strings/ctype-sjis.c8
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,