summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorserg@serg.mylan <>2005-01-24 19:45:15 +0100
committerserg@serg.mylan <>2005-01-24 19:45:15 +0100
commitc33f1b6e635e5ac84afc8f36487ea1c5493bd41c (patch)
treebabf1800e221a6ac3575f7ec6daf42b08e68eb9a /sql/table.cc
parent878e99e65d7176c4fbf4f42b5f29d8ade7b71611 (diff)
parent1ca9d6497b7c3c276387470fce52e6b1cadc4f67 (diff)
downloadmariadb-git-c33f1b6e635e5ac84afc8f36487ea1c5493bd41c.tar.gz
Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 4be69a40782..6427755dab4 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -99,11 +99,11 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
*root_ptr= &outparam->mem_root;
outparam->real_name=strdup_root(&outparam->mem_root,
- name+dirname_length(name));
- *fn_ext(outparam->real_name)='\0'; // Remove extension
+ name+dirname_length(name));
outparam->table_name=my_strdup(alias,MYF(MY_WME));
if (!outparam->real_name || !outparam->table_name)
goto err_end;
+ *fn_ext(outparam->real_name)='\0'; // Remove extension
if ((file=my_open(fn_format(index_file,name,"",reg_ext,MY_UNPACK_FILENAME),
O_RDONLY | O_SHARE,
@@ -316,12 +316,14 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
VOID(my_seek(file,pos,MY_SEEK_SET,MYF(0)));
if (my_read(file,(byte*) head,288,MYF(MY_NABP))) goto err_not_open;
+#ifdef HAVE_CRYPTED_FRM
if (crypted)
{
crypted->decode((char*) head+256,288-256);
if (sint2korr(head+284) != 0) // Should be 0
goto err_not_open; // Wrong password
}
+#endif
outparam->fields= uint2korr(head+258);
pos=uint2korr(head+260); /* Length of all screens */
@@ -350,12 +352,14 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
pos+ (uint) (n_length+int_length+com_length));
if (read_string(file,(gptr*) &disk_buff,read_length))
goto err_not_open; /* purecov: inspected */
+#ifdef HAVE_CRYPTED_FRM
if (crypted)
{
crypted->decode((char*) disk_buff,read_length);
delete crypted;
crypted=0;
}
+#endif
strpos= disk_buff+pos;
outparam->intervals= (TYPELIB*) (field_ptr+outparam->fields+1);
@@ -1464,7 +1468,7 @@ bool check_column_name(const char *name)
{
const char *start= name;
bool last_char_is_space= TRUE;
-
+
while (*name)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)