summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2003-12-17 17:35:34 +0200
committermonty@mysql.com <>2003-12-17 17:35:34 +0200
commite0cc6799ecc831d296c568c5068947c1421fcaa5 (patch)
tree93924b5aab311e02a0f0931cf91e67cdfad04bdf /sql/sql_show.cc
parent0462f48b344633c7d88d12d9667f4bd50b91c552 (diff)
parent30e318311b35b109d230f7184fe0be1b6e29f02b (diff)
downloadmariadb-git-e0cc6799ecc831d296c568c5068947c1421fcaa5.tar.gz
Merge with 4.0.17
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc14
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;
}