/////////////////////////////////////////////////////////////////////////////
-// Name: fs_arc.cpp
+// Name: src/common/fs_arc.cpp
// Purpose: wxArchive file system
// Author: Vaclav Slavik, Mike Wetherell
// Copyright: (c) 1999 Vaclav Slavik, (c) 2006 Mike Wetherell
#include "wx/log.h"
#endif
-#if WXWIN_COMPATIBILITY_2_6
+#if WXWIN_COMPATIBILITY_2_6 && wxUSE_ZIPSTREAM
#include "wx/zipstrm.h"
#else
#include "wx/archive.h"
void wxArchiveFSCacheDataImpl::CloseStreams()
{
- delete m_archive;
- m_archive = NULL;
- delete m_stream;
- m_stream = NULL;
+ wxDELETE(m_archive);
+ wxDELETE(m_stream);
}
wxArchiveEntry *wxArchiveFSCacheDataImpl::Get(const wxString& name)
right = rightPart.GetFullPath(wxPATH_UNIX);
}
- if (right.GetChar(0) == wxT('/')) right = right.Mid(1);
+ if (!right.empty() && right.GetChar(0) == wxT('/')) right = right.Mid(1);
if (!m_cache)
m_cache = new wxArchiveFSCache;
return NULL;
}
-#if WXWIN_COMPATIBILITY_2_6
- if (factory->IsKindOf(CLASSINFO(wxZipClassFactory)))
+#if WXWIN_COMPATIBILITY_2_6 && wxUSE_ZIPSTREAM
+ if (wxDynamicCast(factory, wxZipClassFactory))
((wxZipInputStream*)s)->m_allowSeeking = true;
#endif // WXWIN_COMPATIBILITY_2_6