summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <gluh@mysql.com/gluh.(none)>2006-09-07 15:17:46 +0500
committerunknown <gluh@mysql.com/gluh.(none)>2006-09-07 15:17:46 +0500
commit146049d2e491e2c6253aa7352bb2dfb1180f4489 (patch)
treec5a1c6b7ac37be18a4aeb0fe3100047715ecaf87 /sql
parent979d9c8f8056f77483af2380aaa819f6665c98cc (diff)
parentddb9f8668fa10166e4ffb761dc54a25a007c5bfa (diff)
downloadmariadb-git-146049d2e491e2c6253aa7352bb2dfb1180f4489.tar.gz
Merge mysql.com:/home/gluh/MySQL/Merge/4.1-merge
into mysql.com:/home/gluh/MySQL/Merge/5.0 include/mysql_com.h: Auto merged mysql-test/t/ctype_utf8.test: Auto merged sql/item_func.h: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/slave.cc: Auto merged sql/sql_parse.cc: Auto merged sql-common/client.c: Auto merged sql/sql_select.cc: Auto merged sql/table.cc: Auto merged mysql-test/r/ctype_utf8.result: manual merge sql/sql_acl.cc: manual merge
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_parse.cc4
-rw-r--r--sql/table.cc6
2 files changed, 6 insertions, 4 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 2acbf18f1e6..bb969a77d89 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1001,8 +1001,8 @@ static int check_connection(THD *thd)
char *passwd= strend(user)+1;
uint user_len= passwd - user - 1;
char *db= passwd;
- char db_buff[NAME_LEN+1]; // buffer to store db in utf8
- char user_buff[USERNAME_LENGTH+1]; // buffer to store user in utf8
+ char db_buff[NAME_BYTE_LEN + 1]; // buffer to store db in utf8
+ char user_buff[USERNAME_BYTE_LENGTH + 1]; // buffer to store user in utf8
uint dummy_errors;
/*
diff --git a/sql/table.cc b/sql/table.cc
index 0a95461cf06..054736401ff 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1592,7 +1592,7 @@ char *get_field(MEM_ROOT *mem, Field *field)
bool check_db_name(char *name)
{
- char *start=name;
+ uint name_length= 0; // name length in symbols
/* Used to catch empty names and names with end space */
bool last_char_is_space= TRUE;
@@ -1609,6 +1609,7 @@ bool check_db_name(char *name)
name+system_charset_info->mbmaxlen);
if (len)
{
+ name_length++;
name += len;
continue;
}
@@ -1616,12 +1617,13 @@ bool check_db_name(char *name)
#else
last_char_is_space= *name==' ';
#endif
+ name_length++;
if (*name == '/' || *name == '\\' || *name == FN_LIBCHAR ||
*name == FN_EXTCHAR)
return 1;
name++;
}
- return last_char_is_space || (uint) (name - start) > NAME_LEN;
+ return (last_char_is_space || name_length > NAME_LEN);
}