Commit 0ada8d1b authored by unknown's avatar unknown

ctype-mb.c:

  Remove unnesessary code: use_mb is always TRUE for the multibyte charsets.


strings/ctype-mb.c:
  Remove unnesessary code: use_mb is always TRUE for the multibyte charsets.
parent a4d8ed87
...@@ -123,8 +123,7 @@ int my_strcasecmp_mb(CHARSET_INFO * cs,const char *s, const char *t) ...@@ -123,8 +123,7 @@ int my_strcasecmp_mb(CHARSET_INFO * cs,const char *s, const char *t)
** 1 if matched with wildcard ** 1 if matched with wildcard
*/ */
#define INC_PTR(cs,A,B) A+=((use_mb_flag && \ #define INC_PTR(cs,A,B) A+=(my_ismbchar(cs,A,B) ? my_ismbchar(cs,A,B) : 1)
my_ismbchar(cs,A,B)) ? my_ismbchar(cs,A,B) : 1)
#define likeconv(s,A) (uchar) (s)->sort_order[(uchar) (A)] #define likeconv(s,A) (uchar) (s)->sort_order[(uchar) (A)]
...@@ -135,8 +134,6 @@ int my_wildcmp_mb(CHARSET_INFO *cs, ...@@ -135,8 +134,6 @@ int my_wildcmp_mb(CHARSET_INFO *cs,
{ {
int result= -1; /* Not found, using wildcards */ int result= -1; /* Not found, using wildcards */
bool use_mb_flag=use_mb(cs);
while (wildstr != wildend) while (wildstr != wildend)
{ {
while (*wildstr != w_many && *wildstr != w_one) while (*wildstr != w_many && *wildstr != w_one)
...@@ -144,8 +141,7 @@ int my_wildcmp_mb(CHARSET_INFO *cs, ...@@ -144,8 +141,7 @@ int my_wildcmp_mb(CHARSET_INFO *cs,
int l; int l;
if (*wildstr == escape && wildstr+1 != wildend) if (*wildstr == escape && wildstr+1 != wildend)
wildstr++; wildstr++;
if (use_mb_flag && if ((l = my_ismbchar(cs, wildstr, wildend)))
(l = my_ismbchar(cs, wildstr, wildend)))
{ {
if (str+l > str_end || memcmp(str, wildstr, l) != 0) if (str+l > str_end || memcmp(str, wildstr, l) != 0)
return 1; return 1;
...@@ -200,41 +196,30 @@ int my_wildcmp_mb(CHARSET_INFO *cs, ...@@ -200,41 +196,30 @@ int my_wildcmp_mb(CHARSET_INFO *cs,
cmp= *++wildstr; cmp= *++wildstr;
mb=wildstr; mb=wildstr;
LINT_INIT(mblen); mblen= my_ismbchar(cs, wildstr, wildend);
if (use_mb_flag)
mblen = my_ismbchar(cs, wildstr, wildend);
INC_PTR(cs,wildstr,wildend); /* This is compared trough cmp */ INC_PTR(cs,wildstr,wildend); /* This is compared trough cmp */
cmp=likeconv(cs,cmp); cmp=likeconv(cs,cmp);
do do
{ {
if (use_mb_flag) for (;;)
{ {
for (;;) if (str >= str_end)
return -1;
if (mblen)
{ {
if (str >= str_end) if (str+mblen <= str_end && memcmp(str, mb, mblen) == 0)
return -1;
if (mblen)
{
if (str+mblen <= str_end && memcmp(str, mb, mblen) == 0)
{
str += mblen;
break;
}
}
else if (!my_ismbchar(cs, str, str_end) &&
likeconv(cs,*str) == cmp)
{ {
str++; str += mblen;
break; break;
} }
INC_PTR(cs,str, str_end);
} }
} else if (!my_ismbchar(cs, str, str_end) &&
else likeconv(cs,*str) == cmp)
{ {
while (str != str_end && likeconv(cs,*str) != cmp)
str++; str++;
if (str++ == str_end) return (-1); break;
}
INC_PTR(cs,str, str_end);
} }
{ {
int tmp=my_wildcmp_mb(cs,str,str_end,wildstr,wildend,escape,w_one, int tmp=my_wildcmp_mb(cs,str,str_end,wildstr,wildend,escape,w_one,
...@@ -555,8 +540,6 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs, ...@@ -555,8 +540,6 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs,
{ {
int result= -1; /* Not found, using wildcards */ int result= -1; /* Not found, using wildcards */
bool use_mb_flag=use_mb(cs);
while (wildstr != wildend) while (wildstr != wildend)
{ {
while (*wildstr != w_many && *wildstr != w_one) while (*wildstr != w_many && *wildstr != w_one)
...@@ -564,8 +547,7 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs, ...@@ -564,8 +547,7 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs,
int l; int l;
if (*wildstr == escape && wildstr+1 != wildend) if (*wildstr == escape && wildstr+1 != wildend)
wildstr++; wildstr++;
if (use_mb_flag && if ((l = my_ismbchar(cs, wildstr, wildend)))
(l = my_ismbchar(cs, wildstr, wildend)))
{ {
if (str+l > str_end || memcmp(str, wildstr, l) != 0) if (str+l > str_end || memcmp(str, wildstr, l) != 0)
return 1; return 1;
...@@ -620,39 +602,28 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs, ...@@ -620,39 +602,28 @@ static int my_wildcmp_mb_bin(CHARSET_INFO *cs,
cmp= *++wildstr; cmp= *++wildstr;
mb=wildstr; mb=wildstr;
LINT_INIT(mblen); mblen= my_ismbchar(cs, wildstr, wildend);
if (use_mb_flag)
mblen = my_ismbchar(cs, wildstr, wildend);
INC_PTR(cs,wildstr,wildend); /* This is compared trough cmp */ INC_PTR(cs,wildstr,wildend); /* This is compared trough cmp */
do do
{ {
if (use_mb_flag) for (;;)
{ {
for (;;) if (str >= str_end)
return -1;
if (mblen)
{ {
if (str >= str_end) if (str+mblen <= str_end && memcmp(str, mb, mblen) == 0)
return -1;
if (mblen)
{
if (str+mblen <= str_end && memcmp(str, mb, mblen) == 0)
{
str += mblen;
break;
}
}
else if (!my_ismbchar(cs, str, str_end) && *str == cmp)
{ {
str++; str += mblen;
break; break;
} }
INC_PTR(cs,str, str_end);
} }
} else if (!my_ismbchar(cs, str, str_end) && *str == cmp)
else {
{
while (str != str_end && *str != cmp)
str++; str++;
if (str++ == str_end) return (-1); break;
}
INC_PTR(cs,str, str_end);
} }
{ {
int tmp=my_wildcmp_mb_bin(cs,str,str_end,wildstr,wildend,escape,w_one,w_many); int tmp=my_wildcmp_mb_bin(cs,str,str_end,wildstr,wildend,escape,w_one,w_many);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment