diff options
author | bar@gw.udmsearch.izhnet.ru <> | 2002-03-12 21:37:58 +0400 |
---|---|---|
committer | bar@gw.udmsearch.izhnet.ru <> | 2002-03-12 21:37:58 +0400 |
commit | b37ce8e76944610b92087fe0e04e05f1b60903c8 (patch) | |
tree | aa6dbf1781d8122e350474b0cac9e5ee443426bc /isam | |
parent | 4237e7ace74c21d007964940f26f5496027d6e3d (diff) | |
download | mariadb-git-b37ce8e76944610b92087fe0e04e05f1b60903c8.tar.gz |
New ctype functions/macros to support many charsets at a time
Diffstat (limited to 'isam')
-rw-r--r-- | isam/_key.c | 6 | ||||
-rw-r--r-- | isam/_search.c | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/isam/_key.c b/isam/_key.c index c0d667cb32d..0bedb428808 100644 --- a/isam/_key.c +++ b/isam/_key.c @@ -58,7 +58,7 @@ uint _nisam_make_key(register N_INFO *info, uint keynr, uchar *key, const char * #endif { if (type == HA_KEYTYPE_TEXT) - case_sort((byte*) key,length); + case_sort(default_charset_info,(byte*) key,length); } key+=length; } @@ -71,7 +71,7 @@ uint _nisam_make_key(register N_INFO *info, uint keynr, uchar *key, const char * #endif { if (type == HA_KEYTYPE_TEXT) - case_sort((byte*) key,(uint) keyseg->base.length); + case_sort(default_charset_info,(byte*) key,(uint) keyseg->base.length); } #ifdef NAN_TEST else if (type == HA_KEYTYPE_FLOAT) @@ -154,7 +154,7 @@ uint _nisam_pack_key(register N_INFO *info, uint keynr, uchar *key, uchar *old, #endif { if (type == HA_KEYTYPE_TEXT) - case_sort((byte*) key,length); + case_sort(default_charset_info,(byte*) key,length); } key+= length; } diff --git a/isam/_search.c b/isam/_search.c index 57787d61818..d76a8ce3097 100644 --- a/isam/_search.c +++ b/isam/_search.c @@ -515,11 +515,13 @@ int _nisam_key_cmp(register N_KEYSEG *keyseg, register uchar *a, register uchar if (*a++ != *b++) { a--; b--; - if (isdigit((char) *a) && isdigit((char) *b)) + if (my_isdigit(default_charset_info, (char) *a) && + my_isdigit(default_charset_info, (char) *b)) return ((int) *a - (int) *b); - if (*a == '-' || isdigit((char) *b)) + if (*a == '-' || my_isdigit(default_charset_info,(char) *b)) return (-1); - if (*b == '-' || *b++ == ' ' || isdigit((char) *a)) + if (*b == '-' || *b++ == ' ' || + my_isdigit(default_charset_info,(char) *a)) return (1); if (*a++ == ' ') return (-1); @@ -539,11 +541,13 @@ int _nisam_key_cmp(register N_KEYSEG *keyseg, register uchar *a, register uchar if (*a++ != *b++) { a--; b--; - if (isdigit((char) *a) && isdigit((char) *b)) + if (my_isdigit(default_charset_info,(char) *a) && + my_isdigit(default_charset_info,(char) *b)) return ((int) *a - (int) *b); - if (*a == '-' || isdigit((char) *b)) + if (*a == '-' || my_isdigit(default_charset_info,(char) *b)) return (-1); - if (*b == '-' || *b++ == ' ' || isdigit((char) *a)) + if (*b == '-' || *b++ == ' ' || + my_isdigit(default_charset_info,(char) *a)) return (1); if (*a++ == ' ') return -1; |