From a8468c54ba8465211738351c845a9285890e7366 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Dec 2005 21:42:09 +0400 Subject: Bug#15375 Unassigned multibyte codes are broken into parts when converting to Unicode. m_ctype.h: Reorganizing mb_wc return codes to be able to return "an unassigned N-byte-long character". sql_string.cc: Adding code to detect and properly handle unassigned characters (i.e. the those character which are correctly formed according to the character specifications, but don't have Unicode mapping). Many files: Fixing conversion function to return new codes. ctype_ujis.test, ctype_gbk.test, ctype_big5.test: Adding a test case. ctype_ujis.result, ctype_gbk.result, ctype_big5.result: Fixing results accordingly. include/m_ctype.h: Reorganizing mb_wc return codes to be able to return "an unassigned N-byte long character". Bug#15375 Unassigned multibyte codes are broken into parts when converting to Unicode. mysql-test/r/ctype_big5.result: Fixing results accordingly. mysql-test/r/ctype_gbk.result: Fixing results accordingly. mysql-test/r/ctype_ujis.result: Fixing results accordingly. mysql-test/t/ctype_big5.test: Adding a test case. mysql-test/t/ctype_gbk.test: Adding a test case. mysql-test/t/ctype_ujis.test: Adding a test case. sql/sql_string.cc: Adding code to detect and properly hanlde unassigned characters (i.e. the those character which are correctly formed according to the character specifications, but don't have Unicode mapping). strings/ctype-big5.c: Fixing conversion function to return new codes. strings/ctype-bin.c: Fixing conversion function to return new codes. strings/ctype-cp932.c: Fixing conversion function to return new codes. strings/ctype-euc_kr.c: Fixing conversion function to return new codes. strings/ctype-gb2312.c: Fixing conversion function to return new codes. strings/ctype-gbk.c: Fixing conversion function to return new codes. strings/ctype-latin1.c: Fixing conversion function to return new codes. strings/ctype-simple.c: Fixing conversion function to return new codes. strings/ctype-sjis.c: Fixing conversion function to return new codes. strings/ctype-tis620.c: Fixing conversion function to return new codes. strings/ctype-ucs2.c: Fixing conversion function to return new codes. strings/ctype-ujis.c: Fixing conversion function to return new codes. strings/ctype-utf8.c: Fixing conversion function to return new codes. --- strings/ctype-simple.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'strings/ctype-simple.c') diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c index 095b2f3a4ac..ccdfb5936b7 100644 --- a/strings/ctype-simple.c +++ b/strings/ctype-simple.c @@ -207,10 +207,10 @@ int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc, const unsigned char *end __attribute__((unused))) { if (str >= end) - return MY_CS_TOOFEW(0); + return MY_CS_TOOSMALL; *wc=cs->tab_to_uni[*str]; - return (!wc[0] && str[0]) ? MY_CS_ILSEQ : 1; + return (!wc[0] && str[0]) ? -1 : 1; } int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc, -- cgit v1.2.1