summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorbar@bar.mysql.r18.ru <>2003-01-16 15:20:38 +0400
committerbar@bar.mysql.r18.ru <>2003-01-16 15:20:38 +0400
commit4b9d29c83b3d04eaf82f4272a32f7e72d5686afa (patch)
tree6a5f65a82d5008ef4c50535a2936322712835eb6 /strings
parente79ed81d11001ef107a3b0eddf032ddf27be99d8 (diff)
downloadmariadb-git-4b9d29c83b3d04eaf82f4272a32f7e72d5686afa.tar.gz
strnxfrm() for simple and binary charsets fixes
Diffstat (limited to 'strings')
-rw-r--r--strings/ctype-simple.c3
-rw-r--r--strings/ctype.c46
2 files changed, 25 insertions, 24 deletions
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
index 44379cdc15a..07e7a382f8a 100644
--- a/strings/ctype-simple.c
+++ b/strings/ctype-simple.c
@@ -29,10 +29,11 @@ int my_strnxfrm_simple(CHARSET_INFO * cs,
const uchar *src, uint srclen)
{
uchar *map= cs->sort_order;
+ const uchar *end;
DBUG_ASSERT(len >= srclen);
len= min(len,srclen);
- for ( ; len > 0 ; len-- )
+ for ( end=src+len; src < end ; )
*dest++= map[*src++];
return len;
}
diff --git a/strings/ctype.c b/strings/ctype.c
index cafa2542a06..76636d17ace 100644
--- a/strings/ctype.c
+++ b/strings/ctype.c
@@ -2823,7 +2823,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -2869,7 +2869,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -2914,7 +2914,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_cp1257, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -2959,7 +2959,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3005,7 +3005,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3050,7 +3050,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3095,7 +3095,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3140,7 +3140,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3186,7 +3186,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3231,7 +3231,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3276,7 +3276,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3321,7 +3321,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3366,7 +3366,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3411,7 +3411,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_koi8_r, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3456,7 +3456,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_koi8_u, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3502,7 +3502,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3547,7 +3547,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_8859_9, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3593,7 +3593,7 @@ static CHARSET_INFO compiled_charsets[] = {
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3639,7 +3639,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_us_ascii, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3684,7 +3684,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_cp1250, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3729,7 +3729,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3774,7 +3774,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_armscii_8, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */
@@ -3819,7 +3819,7 @@ static CHARSET_INFO compiled_charsets[] = {
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
my_strnncoll_simple,/* strnncoll */
- NULL, /* strnxfrm */
+ my_strnxfrm_simple, /* strnxfrm */
my_like_range_simple,/* like_range */
my_wildcmp_8bit, /* wildcmp */
1, /* mbmaxlen */