#include "wx/dir.h"
#include "wx/filefn.h" // for wxMatchWild
+#include "wx/filename.h"
#include <sys/types.h>
#include <sys/stat.h>
break;
}
- // check the type now
- if ( !(m_flags & wxDIR_FILES) && !wxDir::Exists(path + de_d_name) )
+ // check the type now: notice that we want to check the type of this
+ // path itself and not whatever it points to in case of a symlink
+ wxFileName fn = wxFileName::DirName(path + de_d_name);
+ fn.DontFollowLink();
+
+ if ( !(m_flags & wxDIR_FILES) && !fn.DirExists() )
{
// it's a file, but we don't want them
continue;
}
- else if ( !(m_flags & wxDIR_DIRS) && wxDir::Exists(path + de_d_name) )
+ else if ( !(m_flags & wxDIR_DIRS) && fn.DirExists() )
{
// it's a dir, and we don't want it
continue;