diff options
author | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-03-12 21:37:58 +0400 |
---|---|---|
committer | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-03-12 21:37:58 +0400 |
commit | 68375e0f008d109f574491bd3b0eb2184e6f3ad2 (patch) | |
tree | aa6dbf1781d8122e350474b0cac9e5ee443426bc /mysys/hash.c | |
parent | 003b294967317b4710714d8d2ab4880b8e5682e3 (diff) | |
download | mariadb-git-68375e0f008d109f574491bd3b0eb2184e6f3ad2.tar.gz |
New ctype functions/macros to support many charsets at a time
client/mysql.cc:
new ctypes
client/mysqldump.c:
new ctypes
client/mysqltest.c:
new ctypes
client/sql_string.cc:
new ctypes
client/sql_string.h:
new ctypes
extra/mysql_install.c:
new ctypes
extra/replace.c:
new ctypes
extra/resolve_stack_dump.c:
new ctypes
extra/resolveip.c:
new ctypes
heap/hp_hash.c:
new ctypes
include/m_ctype.h:
new ctypes
include/my_sys.h:
new ctypes
isam/_key.c:
new ctypes
isam/_search.c:
new ctypes
libmysql/Makefile.shared:
new ctypes
libmysql/libmysql.c:
new ctypes
myisam/ft_dump.c:
new ctypes
myisam/ft_parser.c:
new ctypes
myisam/mi_test1.c:
new ctypes
mysys/charset.c:
new ctypes
mysys/default.c:
new ctypes
mysys/getvar.c:
new ctypes
mysys/hash.c:
new ctypes
mysys/mf_casecnv.c:
new ctypes
mysys/mf_dirname.c:
new ctypes
mysys/mf_format.c:
new ctypes
mysys/mf_iocache2.c:
new ctypes
mysys/mf_soundex.c:
new ctypes
mysys/mf_wfile.c:
new ctypes
mysys/my_error.c:
new ctypes
mysys/my_getwd.c:
new ctypes
mysys/my_init.c:
new ctypes
mysys/my_vsnprintf.c:
new ctypes
mysys/typelib.c:
new ctypes
sql/convert.cc:
new ctypes
sql/des_key_file.cc:
new ctypes
sql/field.cc:
new ctypes
sql/field.h:
new ctypes
sql/field_conv.cc:
new ctypes
sql/filesort.cc:
new ctypes
sql/ha_innodb.cc:
new ctypes
sql/hostname.cc:
new ctypes
sql/init.cc:
new ctypes
sql/item.cc:
new ctypes
sql/item_func.cc:
new ctypes
sql/item_strfunc.cc:
new ctypes
sql/item_sum.cc:
new ctypes
sql/item_timefunc.cc:
new ctypes
sql/key.cc:
new ctypes
sql/log.cc:
new ctypes
sql/mysql_priv.h:
new ctypes
sql/mysqld.cc:
new ctypes
sql/opt_range.cc:
new ctypes
sql/procedure.cc:
new ctypes
sql/slave.cc:
new ctypes
sql/sql_acl.cc:
new ctypes
sql/sql_analyse.cc:
new ctypes
sql/sql_base.cc:
new ctypes
sql/sql_cache.cc:
new ctypes
sql/sql_db.cc:
new ctypes
sql/sql_handler.cc:
new ctypes
sql/sql_lex.cc:
new ctypes
sql/sql_parse.cc:
new ctypes
sql/sql_show.cc:
new ctypes
sql/sql_string.cc:
new ctypes
sql/sql_string.h:
new ctypes
sql/sql_table.cc:
new ctypes
sql/sql_yacc.yy:
new ctypes
sql/table.cc:
new ctypes
sql/time.cc:
new ctypes
strings/Makefile.am:
new ctypes
strings/ctype-big5.c:
new ctypes
strings/ctype-czech.c:
new ctypes
strings/ctype-gbk.c:
new ctypes
strings/ctype-latin1_de.c:
new ctypes
strings/ctype-sjis.c:
new ctypes
strings/ctype-tis620.c:
new ctypes
strings/ctype.c:
new ctypes
strings/str2int.c:
new ctypes
strings/strto.c:
new ctypes
tools/mysqlmanager.c:
new ctypes
Diffstat (limited to 'mysys/hash.c')
-rw-r--r-- | mysys/hash.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mysys/hash.c b/mysys/hash.c index 0b326ebc508..f1ce5052e4f 100644 --- a/mysys/hash.c +++ b/mysys/hash.c @@ -129,7 +129,9 @@ static uint calc_hashnr_caseup(const byte *key,uint length) register uint nr=1, nr2=4; while (length--) { - nr^= (((nr & 63)+nr2)*((uint) (uchar) toupper(*key++)))+ (nr << 8); + /* BAR TODO: remove default_charset_info */ + nr^= (((nr & 63)+nr2)* + ((uint) (uchar) my_toupper(default_charset_info, *key++)))+ (nr << 8); nr2+=3; } return((uint) nr); @@ -271,9 +273,10 @@ static int hashcmp(HASH *hash,HASH_LINK *pos,const byte *key,uint length) { uint rec_keylength; byte *rec_key=hash_key(hash,pos->data,&rec_keylength,1); + /* BAR TODO: remove default_charset_info */ return (length && length != rec_keylength) || (hash->flags & HASH_CASE_INSENSITIVE ? - my_casecmp(rec_key,key,rec_keylength) : + my_strncasecmp(default_charset_info, rec_key,key,rec_keylength) : memcmp(rec_key,key,rec_keylength)); } |