From 737a0dbca160f86c0423f10e2adf88a35dd86523 Mon Sep 17 00:00:00 2001 From: "bar@mysql.com" <> Date: Tue, 14 Sep 2004 13:02:20 +0500 Subject: [PATCH] ctype-ucs2.c: Bug#5523 Test failure: 'ctype_uca' Type cast should have been applied to shift and bit-and operation results, not to min_sort_char/max_sort_char before the operation. --- strings/ctype-ucs2.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c index c6e55ee8f0e..1b3dd296867 100644 --- a/strings/ctype-ucs2.c +++ b/strings/ctype-ucs2.c @@ -1345,10 +1345,10 @@ my_bool my_like_range_ucs2(CHARSET_INFO *cs, } if (ptr[0] == '\0' && ptr[1] == w_one) /* '_' in SQL */ { - *min_str++= (char) cs->min_sort_char >> 8; - *min_str++= (char) cs->min_sort_char & 255; - *max_str++= (char) cs->max_sort_char >> 8; - *max_str++= (char) cs->max_sort_char & 255; + *min_str++= (char) (cs->min_sort_char >> 8); + *min_str++= (char) (cs->min_sort_char & 255); + *max_str++= (char) (cs->max_sort_char >> 8); + *max_str++= (char) (cs->max_sort_char & 255); continue; } if (ptr[0] == '\0' && ptr[1] == w_many) /* '%' in SQL */ @@ -1358,8 +1358,8 @@ my_bool my_like_range_ucs2(CHARSET_INFO *cs, do { *min_str++ = 0; *min_str++ = 0; - *max_str++ = (char) cs->max_sort_char >>8; - *max_str++ = (char) cs->max_sort_char & 255; + *max_str++ = (char) (cs->max_sort_char >> 8); + *max_str++ = (char) (cs->max_sort_char & 255); } while (min_str + 1 < min_end); return 0; }