diff --git a/include/m_ctype.h b/include/m_ctype.h index f44fe1b10de..81096f60c78 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -372,13 +372,13 @@ my_cs_have_contractions(CHARSET_INFO *cs) static inline my_bool my_cs_can_be_contraction_head(CHARSET_INFO *cs, my_wc_t wc) { - return ((const char *)cs->contractions)[0x40*0x40 + (wc & 0xFF)]; + return ((const char *) cs->contractions)[0x40 * 0x40 * 2 + (wc & 0xFF)]; } static inline my_bool my_cs_can_be_contraction_tail(CHARSET_INFO *cs, my_wc_t wc) { - return ((const char *)cs->contractions)[0x40*0x40 + (wc & 0xFF)]; + return ((const char *) cs->contractions)[0x40 * 0x40 * 2 + (wc & 0xFF)]; } static inline uint16* diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c index fddb8d2a16b..258613d3b05 100644 --- a/strings/ctype-mb.c +++ b/strings/ctype-mb.c @@ -697,7 +697,7 @@ my_bool my_like_range_mb(CHARSET_INFO *cs, char *max_end= max_str + res_length; size_t maxcharlen= res_length / cs->mbmaxlen; const char *contraction_flags= cs->contractions ? - ((const char*) cs->contractions) + 0x40*0x40 : NULL; + (const char *) (cs->contractions + 0x40*0x40) : NULL; for (; ptr != end && min_str != min_end && maxcharlen ; maxcharlen--) { diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c index 8cd850b06df..7ec2e9851e1 100644 --- a/strings/ctype-uca.c +++ b/strings/ctype-uca.c @@ -8046,7 +8046,7 @@ static my_bool create_tailoring(CHARSET_INFO *cs, void *(*alloc)(size_t)) if (!(cs->contractions= (uint16*) (*alloc)(size))) return 1; bzero((void*)cs->contractions, size); - contraction_flags= ((char*) cs->contractions) + 0x40*0x40; + contraction_flags= (char *) (cs->contractions + 0x40*0x40); for (i=0; i < rc; i++) { if (rule[i].curr[1])