corrected findfirst/next on mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1448,18 +1448,25 @@ struct MacDirectoryIterator
|
||||
static int g_iter_flags ;
|
||||
|
||||
static MacDirectoryIterator g_iter ;
|
||||
wxString g_iter_spec ;
|
||||
|
||||
wxString wxFindFirstFile(const wxChar *spec, int flags)
|
||||
{
|
||||
wxString result;
|
||||
|
||||
g_iter_spec = spec ;
|
||||
g_iter_spec.MakeUpper() ;
|
||||
g_iter_flags = flags; /* MATTHEW: [5] Remember flags */
|
||||
|
||||
// Find path only so we can concatenate found file onto path
|
||||
wxString path(wxPathOnly(spec));
|
||||
#ifdef __DARWIN__
|
||||
// TODO:check whether is necessary/correct
|
||||
if ( !path.IsEmpty() )
|
||||
result << path << wxT('\\');
|
||||
|
||||
result << path << wxT('/');
|
||||
#else
|
||||
result = path ;
|
||||
#endif
|
||||
FSSpec fsspec ;
|
||||
|
||||
wxMacFilename2FSSpec( result , &fsspec ) ;
|
||||
@@ -1480,7 +1487,10 @@ wxString wxFindNextFile()
|
||||
wxString result;
|
||||
|
||||
short err = noErr ;
|
||||
wxString name ;
|
||||
|
||||
while(1)
|
||||
{
|
||||
while ( err == noErr )
|
||||
{
|
||||
g_iter.m_index++ ;
|
||||
@@ -1510,7 +1520,11 @@ wxString wxFindNextFile()
|
||||
g_iter.m_name,
|
||||
&spec) ;
|
||||
|
||||
return wxMacFSSpec2MacFilename( &spec ) ;
|
||||
wxString name = wxMacFSSpec2MacFilename( &spec ) ;
|
||||
if ( g_iter_spec.Right(4)==(":*.*") || g_iter_spec.Right(2)==(":*") || name.Upper().Matches(g_iter_spec) )
|
||||
return name ;
|
||||
}
|
||||
return wxEmptyString ;
|
||||
}
|
||||
|
||||
#elif defined(__WXMSW__)
|
||||
|
Reference in New Issue
Block a user