summaryrefslogtreecommitdiff
path: root/strings/ctype-simple.c
diff options
context:
space:
mode:
authormonty@mashka.mysql.fi <>2002-10-02 13:33:08 +0300
committermonty@mashka.mysql.fi <>2002-10-02 13:33:08 +0300
commitd69250a969449da43891ef5b2859df77917183a8 (patch)
tree5a27bda6d3f628af7dcb922ad022e84cf8cb351c /strings/ctype-simple.c
parent7134ffec210edde21860a2b2c2654be481de49b4 (diff)
downloadmariadb-git-d69250a969449da43891ef5b2859df77917183a8.tar.gz
Fixes and code cleanups after merge with 4.0.3
Warning handling and initial prepared statement handling (last not complete yet) Changed a lot of functions that returned 0/1 to my_bool type. GRANT handling now uses read/write locks instead of mutex Change basic net functions to use THD instead of NET (needed for 4.1 protocol) Use my_sprintf instead of sprintf() + strlen() Added alloc_query() to be able to chare query initialization code with prepared statements. Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID() Note that the following test fails (will be fixed ASAP): sub_select, union, rpl_rotate_logs and rpl_mystery22
Diffstat (limited to 'strings/ctype-simple.c')
-rw-r--r--strings/ctype-simple.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
index 19989afea60..f6c92edf1b8 100644
--- a/strings/ctype-simple.c
+++ b/strings/ctype-simple.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 MySQL AB
+/* Copyright (C) 2002 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,22 +23,24 @@ int my_strnxfrm_simple(CHARSET_INFO * cs,
char *dest, uint len,
const char *src, uint srclen)
{
+ uchar *map= cs->sort_order;
DBUG_ASSERT(len >= srclen);
for ( ; len > 0 ; len-- )
- *dest++= (char) cs->sort_order[(uchar) *src++];
+ *dest++= (char) map[(uchar) *src++];
return srclen;
}
-int my_strnncoll_simple(CHARSET_INFO * cs,const char *s, uint slen,
- const char *t, uint tlen)
+int my_strnncoll_simple(CHARSET_INFO * cs, const char *s, uint slen,
+ const char *t, uint tlen)
{
int len = ( slen > tlen ) ? tlen : slen;
+ uchar *map= cs->sort_order;
while (len--)
{
- if (cs->sort_order[(uchar) *s++] != cs->sort_order[(uchar) *t++])
- return ((int) cs->sort_order[(uchar) s[-1]] -
- (int) cs->sort_order[(uchar) t[-1]]);
+ if (map[(uchar) *s++] != map[(uchar) *t++])
+ return ((int) map[(uchar) s[-1]] -
+ (int) map[(uchar) t[-1]]);
}
return (int) (slen-tlen);
}