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 | d4d3d1ef4e7b2474c0cbf0db8a088dc23edf9225 (patch) | |
tree | 2ccdd16fa9f2a2dcac8a365396e497aaca74c3f5 /include | |
parent | 1e533aef35890c331f78351cfc09c957c4701dc7 (diff) | |
parent | d2af6c43c0f7b62a6051d0c5f74c66f98dbefe7a (diff) | |
download | mariadb-git-d4d3d1ef4e7b2474c0cbf0db8a088dc23edf9225.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; |