~ubuntu-branches/ubuntu/utopic/mysql-5.5/utopic-security

« back to all changes in this revision

Viewing changes to strings/ctype-utf8.c

  • Committer: Package Import Robot
  • Author(s): Seth Arnold
  • Date: 2013-04-18 18:25:54 UTC
  • mfrom: (1.1.12)
  • Revision ID: package-import@ubuntu.com-20130418182554-pflh0bjoc611yqxw
Tags: 5.5.31-0ubuntu0.13.04.1
* SECURITY UPDATE: Update to 5.5.31 to fix security issues (LP: #1170516)
  - http://www.oracle.com/technetwork/topics/security/cpuapr2013-1899555.html
* debian/patches/71_disable_rpl_tests.patch: refreshed.
* debian/patches/fix-mysqldump-test.patch: removed, fixed differently
  upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
1921
1921
**       1 if matched with wildcard
1922
1922
*/
1923
1923
 
1924
 
int
1925
 
my_wildcmp_unicode(CHARSET_INFO *cs,
1926
 
                   const char *str,const char *str_end,
1927
 
                   const char *wildstr,const char *wildend,
1928
 
                   int escape, int w_one, int w_many,
1929
 
                   MY_UNICASE_INFO **weights)
 
1924
static
 
1925
int my_wildcmp_unicode_impl(CHARSET_INFO *cs,
 
1926
                            const char *str,const char *str_end,
 
1927
                            const char *wildstr,const char *wildend,
 
1928
                            int escape, int w_one, int w_many,
 
1929
                            MY_UNICASE_INFO **weights, int recurse_level)
1930
1930
{
1931
1931
  int result= -1;                             /* Not found, using wildcards */
1932
1932
  my_wc_t s_wc, w_wc;
1934
1934
  int (*mb_wc)(struct charset_info_st *, my_wc_t *,
1935
1935
               const uchar *, const uchar *);
1936
1936
  mb_wc= cs->cset->mb_wc;
1937
 
  
 
1937
 
 
1938
  if (my_string_stack_guard && my_string_stack_guard(recurse_level))
 
1939
    return 1;
1938
1940
  while (wildstr != wildend)
1939
1941
  {
1940
1942
    while (1)
2056
2058
          return -1;
2057
2059
        
2058
2060
        str+= scan;
2059
 
        result= my_wildcmp_unicode(cs, str, str_end, wildstr, wildend,
2060
 
                                   escape, w_one, w_many,
2061
 
                                   weights);
 
2061
        result= my_wildcmp_unicode_impl(cs, str, str_end, wildstr, wildend,
 
2062
                                        escape, w_one, w_many,
 
2063
                                        weights, recurse_level+1);
2062
2064
        if (result <= 0)
2063
2065
          return result;
2064
2066
      } 
2068
2070
}
2069
2071
 
2070
2072
 
 
2073
int
 
2074
my_wildcmp_unicode(CHARSET_INFO *cs,
 
2075
                   const char *str,const char *str_end,
 
2076
                   const char *wildstr,const char *wildend,
 
2077
                   int escape, int w_one, int w_many,
 
2078
                   MY_UNICASE_INFO **weights)
 
2079
{
 
2080
  return my_wildcmp_unicode_impl(cs, str, str_end,
 
2081
                                 wildstr, wildend,
 
2082
                                 escape, w_one, w_many, weights, 1);
 
2083
}
2071
2084
/*
2072
2085
  Store sorting weights using 2 bytes per character.
2073
2086