diff options
author | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-02-18 14:09:35 +0100 |
---|---|---|
committer | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-02-18 14:09:35 +0100 |
commit | a99f78da5c07e3312632bf4f157aea0284422d15 (patch) | |
tree | 2ccdd16fa9f2a2dcac8a365396e497aaca74c3f5 /include | |
parent | b2eebd996653766670449c7fd53ebc8eb9cc774c (diff) | |
parent | b5936f7340ffe26e2f1b3a1c98c647f88b16940e (diff) | |
download | mariadb-git-a99f78da5c07e3312632bf4f157aea0284422d15.tar.gz |
merge
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..7cf5ce113f8 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; |