diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/m_ctype.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h index 35d40e8bfa4..597081c5f6e 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -38,6 +38,23 @@ extern "C" { #define my_wc_t ulong + +/* + On i386 we store Unicode->CS conversion tables for + some character sets using Big-endian order, + to copy two bytes at onces. + This gives some performance improvement. +*/ +#ifdef __i386__ +#define MB2(x) (((x) >> 8) + (((x) & 0xFF) << 8)) +#define MY_PUT_MB2(s, code) { *((uint16*)(s))= (code); } +#else +#define MB2(x) (x) +#define MY_PUT_MB2(s, code) { s[0]= code >> 8; s[1]= code & 0xFF; } +#endif + + + typedef struct unicase_info_st { uint32 toupper; |