mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fix for my_mbcharlen(charset, c) to return 1 for single-byte characters
(isn't it obvious ?) mysys/charset.c: all charsets support my_mbcharlen - no need to protect it with use_mb() sql/sql_load.cc: all charsets support my_mbcharlen - no need to protect it with use_mb()
This commit is contained in:
@ -82,7 +82,7 @@ static void init_state_maps(CHARSET_INFO *cs)
|
||||
else if (my_isdigit(cs,i))
|
||||
state_map[i]=(uchar) MY_LEX_NUMBER_IDENT;
|
||||
#if defined(USE_MB) && defined(USE_MB_IDENT)
|
||||
else if (use_mb(cs) && (my_mbcharlen(cs, i)>1))
|
||||
else if (my_mbcharlen(cs, i)>1)
|
||||
state_map[i]=(uchar) MY_LEX_IDENT;
|
||||
#endif
|
||||
else if (!my_isgraph(cs,i))
|
||||
|
@ -759,8 +759,7 @@ int READ_INFO::read_field()
|
||||
{
|
||||
chr = GET;
|
||||
#ifdef USE_MB
|
||||
if (use_mb(read_charset) &&
|
||||
(my_mbcharlen(read_charset, chr) >1 )&&
|
||||
if ((my_mbcharlen(read_charset, chr) > 1) &&
|
||||
to+my_mbcharlen(read_charset, chr) <= end_of_buff)
|
||||
{
|
||||
uchar* p = (uchar*)to;
|
||||
@ -946,7 +945,7 @@ int READ_INFO::next_line()
|
||||
{
|
||||
int chr = GET;
|
||||
#ifdef USE_MB
|
||||
if (use_mb(read_charset) && (my_mbcharlen(read_charset, chr) >1 ))
|
||||
if (my_mbcharlen(read_charset, chr) > 1)
|
||||
{
|
||||
for (int i=1;
|
||||
chr != my_b_EOF && i<my_mbcharlen(read_charset, chr);
|
||||
|
@ -401,7 +401,7 @@ static int ismbchar_big5(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_big5(CHARSET_INFO *cs __attribute__((unused)), uint c)
|
||||
{
|
||||
return (isbig5head(c)? 2: 0);
|
||||
return (isbig5head(c)? 2 : 1);
|
||||
}
|
||||
|
||||
/* page 0 0xA140-0xC7FC */
|
||||
|
@ -193,7 +193,7 @@ static int ismbchar_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
|
||||
{
|
||||
return (iseuc_kr(c) ? 2 : 0);
|
||||
return (iseuc_kr(c) ? 2 : 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -174,7 +174,7 @@ static int ismbchar_gb2312(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
|
||||
{
|
||||
return (isgb2312head(c)? 2:0);
|
||||
return (isgb2312head(c)? 2 : 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2721,7 +2721,7 @@ static int ismbchar_gbk(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_gbk(CHARSET_INFO *cs __attribute__((unused)),uint c)
|
||||
{
|
||||
return (isgbkhead(c)? 2:0);
|
||||
return (isgbkhead(c)? 2 : 1);
|
||||
}
|
||||
|
||||
/* page 0 0x8140-0xFE4F */
|
||||
|
@ -191,7 +191,7 @@ static int ismbchar_sjis(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
|
||||
{
|
||||
return (issjishead((uchar) c) ? 2: 0);
|
||||
return (issjishead((uchar) c) ? 2 : 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -196,7 +196,7 @@ static int ismbchar_ujis(CHARSET_INFO *cs __attribute__((unused)),
|
||||
|
||||
static int mbcharlen_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
|
||||
{
|
||||
return (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 0);
|
||||
return (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 1);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user