diff options
author | monty@mysql.com <> | 2003-12-17 17:35:34 +0200 |
---|---|---|
committer | monty@mysql.com <> | 2003-12-17 17:35:34 +0200 |
commit | e0cc6799ecc831d296c568c5068947c1421fcaa5 (patch) | |
tree | 93924b5aab311e02a0f0931cf91e67cdfad04bdf /sql/sql_show.cc | |
parent | 0462f48b344633c7d88d12d9667f4bd50b91c552 (diff) | |
parent | 30e318311b35b109d230f7184fe0be1b6e29f02b (diff) | |
download | mariadb-git-e0cc6799ecc831d296c568c5068947c1421fcaa5.tar.gz |
Merge with 4.0.17
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 855b5d1e97e..741c8e3a1f5 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -384,11 +384,23 @@ mysql_find_files(THD *thd,List<char> *files, const char *db,const char *path, #ifdef USE_SYMDIR char *ext; if (my_use_symdir && !strcmp(ext=fn_ext(file->name), ".sym")) + { + /* Only show the sym file if it points to a directory */ + char buff[FN_REFLEN], *end; + MY_STAT status; *ext=0; /* Remove extension */ + unpack_dirname(buff, file->name); + end= strend(buff); + if (end != buff && end[-1] == FN_LIBCHAR) + end[-1]= 0; // Remove end FN_LIBCHAR + if (!my_stat(buff, &status, MYF(0)) || + !MY_S_ISDIR(status.st_mode)) + continue; + } else #endif { - if (file->name[0] == '.' || !MY_S_ISDIR(file->mystat.st_mode) || + if (file->name[0] == '.' || !MY_S_ISDIR(file->mystat->st_mode) || (wild && wild_compare(file->name,wild,0))) continue; } |