// Created: 08.12.99
// RCS-ID: $Id$
// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "dir.h"
#endif
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 = wxConvFileName->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;
}