wxString path = m_dirname;
path += _T('/');
path.reserve(path.length() + 255);
+
+ wxString de_d_name;
while ( !matches )
{
de = readdir(m_dir);
if ( !de )
return FALSE;
+
+#if wxUSE_UNICODE
+ de_d_name = wxConvLibc.cMB2WC( de->d_name );
+#else
+ de_d_name = de->d_name;
+#endif
// don't return "." and ".." unless asked for
if ( de->d_name[0] == '.' &&
}
// check the type now
- if ( !(m_flags & wxDIR_FILES) && !wxDir::Exists(path + de->d_name) )
+ if ( !(m_flags & wxDIR_FILES) && !wxDir::Exists(path + de_d_name) )
{
// 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) && wxDir::Exists(path + de_d_name) )
{
// it's a dir, and we don't want it
continue;
else
{
// test against the pattern
- matches = wxMatchWild(m_filespec, de->d_name,
+ matches = wxMatchWild(m_filespec, de_d_name,
!(m_flags & wxDIR_HIDDEN));
}
}
- *filename = de->d_name;
+ *filename = de_d_name;
return TRUE;
}
// caller will learn it soon enough when it calls GetFirst(wxDIR)
// anyhow
wxStructStat stBuf;
- if ( wxStat(M_DIR->GetName(), &stBuf) == 0 )
+ if ( wxStat(M_DIR->GetName().c_str(), &stBuf) == 0 )
{
switch ( stBuf.st_nlink )
{