1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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.
This commit is contained in:
unknown
2005-12-12 21:42:09 +04:00
parent 5aeb69296a
commit a464e01713
21 changed files with 122 additions and 56 deletions

View File

@ -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,