diff options
author | unknown <bar@mysql.com> | 2006-04-19 09:50:17 +0500 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-04-19 09:50:17 +0500 |
commit | 2b49181d2f3008c58126dcb35dfb877eb0f9990a (patch) | |
tree | a8da81c2998f482b08415ac5acd71eabbb45403c /sql/sql_table.cc | |
parent | 28980e7cc754d94ab93134ec147959908cc8b36a (diff) | |
parent | aa3eb77e62b57b62a393980f56f21eb2e013f676 (diff) | |
download | mariadb-git-2b49181d2f3008c58126dcb35dfb877eb0f9990a.tar.gz |
Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/usr/home/bar/mysql-5.1-new.b17870v1
include/my_sys.h:
Auto merged
sql/sql_table.cc:
Auto merged
mysys/my_access.c:
SCCS merged
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 1d84c4b0f4a..6cc2ad266e5 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -72,12 +72,19 @@ uint filename_to_tablename(const char *from, char *to, uint to_length) uint tablename_to_filename(const char *from, char *to, uint to_length) { - uint errors; + uint errors, length; if (from[0] == '#' && !strncmp(from, MYSQL50_TABLE_NAME_PREFIX, MYSQL50_TABLE_NAME_PREFIX_LENGTH)) return my_snprintf(to, to_length, "%s", from + 9); - return strconvert(system_charset_info, from, - &my_charset_filename, to, to_length, &errors); + length= strconvert(system_charset_info, from, + &my_charset_filename, to, to_length, &errors); + if (check_if_legal_tablename(to) && + length + 4 < to_length) + { + memcpy(to + length, "@@@", 4); + length+= 3; + } + return length; } |