from wxDir and give a suppressable error message. This fixes
problems reading e.g. .vol directories.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26271
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
void Rewind() ;
const wxString& GetName() const { return m_dirname; }
void Rewind() ;
const wxString& GetName() const { return m_dirname; }
+ bool Ok() const { return m_ok; }
private:
CInfoPBRec m_CPB ;
private:
CInfoPBRec m_CPB ;
wxString m_filespec;
int m_flags;
wxString m_filespec;
int m_flags;
};
// ============================================================================
};
// ============================================================================
wxDirData::wxDirData(const wxString& dirname)
: m_dirname(dirname)
{
wxDirData::wxDirData(const wxString& dirname)
: m_dirname(dirname)
{
OSErr err;
// throw away the trailing slashes
OSErr err;
// throw away the trailing slashes
err = FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
#endif
err = FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
#endif
- wxASSERT_MSG( (err == noErr) || (err == nsvErr) , wxT("Error accessing directory " + m_dirname)) ;
+ //wxASSERT_MSG( (err == noErr) || (err == nsvErr) , wxT("Error accessing directory " + m_dirname)) ;
+ if ( (err == noErr) || (err == nsvErr))
+ m_ok = true;
+ else
+ wxLogError(wxString(wxT("Error accessing directory ")) + m_dirname);
m_CPB.hFileInfo.ioNamePtr = m_name ;
m_index = 0 ;
m_CPB.hFileInfo.ioNamePtr = m_name ;
m_index = 0 ;
{
delete M_DIR;
m_data = new wxDirData(dirname);
{
delete M_DIR;
m_data = new wxDirData(dirname);
+ if (m_data->Ok())
+ return TRUE;
+ else
+ {
+ delete m_data;
+ m_data = NULL;
+ return FALSE;
+ }
}
bool wxDir::IsOpened() const
}
bool wxDir::IsOpened() const
void Rewind() ;
const wxString& GetName() const { return m_dirname; }
void Rewind() ;
const wxString& GetName() const { return m_dirname; }
+ bool Ok() const { return m_ok; }
private:
CInfoPBRec m_CPB ;
private:
CInfoPBRec m_CPB ;
wxString m_filespec;
int m_flags;
wxString m_filespec;
int m_flags;
};
// ============================================================================
};
// ============================================================================
wxDirData::wxDirData(const wxString& dirname)
: m_dirname(dirname)
{
wxDirData::wxDirData(const wxString& dirname)
: m_dirname(dirname)
{
OSErr err;
// throw away the trailing slashes
OSErr err;
// throw away the trailing slashes
err = FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
#endif
err = FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
#endif
- wxASSERT_MSG( (err == noErr) || (err == nsvErr) , wxT("Error accessing directory " + m_dirname)) ;
+ //wxASSERT_MSG( (err == noErr) || (err == nsvErr) , wxT("Error accessing directory " + m_dirname)) ;
+ if ( (err == noErr) || (err == nsvErr))
+ m_ok = true;
+ else
+ wxLogError(wxString(wxT("Error accessing directory ")) + m_dirname);
m_CPB.hFileInfo.ioNamePtr = m_name ;
m_index = 0 ;
m_CPB.hFileInfo.ioNamePtr = m_name ;
m_index = 0 ;
{
delete M_DIR;
m_data = new wxDirData(dirname);
{
delete M_DIR;
m_data = new wxDirData(dirname);
+ if (m_data->Ok())
+ return TRUE;
+ else
+ {
+ delete m_data;
+ m_data = NULL;
+ return FALSE;
+ }
}
bool wxDir::IsOpened() const
}
bool wxDir::IsOpened() const