summaryrefslogtreecommitdiff
path: root/isam
diff options
context:
space:
mode:
authorbar@gw.udmsearch.izhnet.ru <>2002-03-12 21:37:58 +0400
committerbar@gw.udmsearch.izhnet.ru <>2002-03-12 21:37:58 +0400
commitb37ce8e76944610b92087fe0e04e05f1b60903c8 (patch)
treeaa6dbf1781d8122e350474b0cac9e5ee443426bc /isam
parent4237e7ace74c21d007964940f26f5496027d6e3d (diff)
downloadmariadb-git-b37ce8e76944610b92087fe0e04e05f1b60903c8.tar.gz
New ctype functions/macros to support many charsets at a time
Diffstat (limited to 'isam')
-rw-r--r--isam/_key.c6
-rw-r--r--isam/_search.c16
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;