summaryrefslogtreecommitdiff
path: root/strings/ctype-euc_kr.c
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2015-03-13 16:51:36 +0400
committerAlexander Barkov <bar@mariadb.org>2015-03-13 16:51:36 +0400
commit197afb413fcc9f06b5e5e6ef41ce980d108b354f (patch)
tree7052fbaa1bf1af1c5c849e8fda4a3a790af09b25 /strings/ctype-euc_kr.c
parent702fba1511c90ea9c72b6c00122e0f31a05237b4 (diff)
downloadmariadb-git-197afb413fcc9f06b5e5e6ef41ce980d108b354f.tar.gz
MDEV-6566 Different INSERT behaviour on bad bytes with and without character set conversion
Diffstat (limited to 'strings/ctype-euc_kr.c')
-rw-r--r--strings/ctype-euc_kr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c
index eab9539ad45..a2c95bf77c8 100644
--- a/strings/ctype-euc_kr.c
+++ b/strings/ctype-euc_kr.c
@@ -204,7 +204,7 @@ static const uchar sort_order_euc_kr[]=
#define MY_FUNCTION_NAME(x) my_ ## x ## _euckr
#define IS_MB2_CHAR(x,y) (iseuc_kr_head(x) && iseuc_kr_tail(y))
-#define WELL_FORMED_LEN
+#define DEFINE_ASIAN_ROUTINES
#include "ctype-mb.ic"
@@ -9928,6 +9928,9 @@ my_mb_wc_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
if (s+2>e)
return MY_CS_TOOSMALL2;
+ if (!IS_MB2_CHAR(hi, s[1]))
+ return MY_CS_ILSEQ;
+
if (!(pwc[0]=func_ksc5601_uni_onechar((hi<<8)+s[1])))
return -2;
@@ -9979,7 +9982,9 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
my_scan_8bit,
- my_copy_abort_mb,
+ my_charlen_euckr,
+ my_well_formed_char_length_euckr,
+ my_copy_fix_mb,
};