Let wxFileSystem use wxFFileInputstream and not

wxFileInoutStrea as that is broken on Macs.m


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2002-05-23 17:56:17 +00:00
parent 311d5aa3aa
commit d81152f480

View File

@@ -178,7 +178,7 @@ wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString&
if (!wxFileExists(fn.GetFullPath())) if (!wxFileExists(fn.GetFullPath()))
return (wxFSFile*) NULL; return (wxFSFile*) NULL;
return new wxFSFile(new wxFileInputStream(fn.GetFullPath()), return new wxFSFile(new wxFFileInputStream(fn.GetFullPath()),
right, right,
GetMimeTypeFromExt(location), GetMimeTypeFromExt(location),
GetAnchor(location), GetAnchor(location),
@@ -259,22 +259,22 @@ void wxFileSystem::ChangePathTo(const wxString& location, bool is_dir)
if (is_dir) if (is_dir)
{ {
if (m_Path.Length() > 0 && m_Path.Last() != wxT('/') && m_Path.Last() != wxT(':')) if (m_Path.Length() > 0 && m_Path.Last() != wxT('/') && m_Path.Last() != wxT(':'))
m_Path << wxT('/'); m_Path << wxT('/');
} }
else else
{ {
for (i = m_Path.Length()-1; i >= 0; i--) for (i = m_Path.Length()-1; i >= 0; i--)
{ {
if (m_Path[(unsigned int) i] == wxT('/')) if (m_Path[(unsigned int) i] == wxT('/'))
{ {
if ((i > 1) && (m_Path[(unsigned int) (i-1)] == wxT('/')) && (m_Path[(unsigned int) (i-2)] == wxT(':'))) if ((i > 1) && (m_Path[(unsigned int) (i-1)] == wxT('/')) && (m_Path[(unsigned int) (i-2)] == wxT(':')))
{ {
i -= 2; i -= 2;
continue; continue;
} }
else else
{ {
pathpos = i; pathpos = i;
break; break;
} }
@@ -285,20 +285,20 @@ void wxFileSystem::ChangePathTo(const wxString& location, bool is_dir)
} }
} }
if (pathpos == -1) if (pathpos == -1)
{ {
for (i = 0; i < (int) m_Path.Length(); i++) for (i = 0; i < (int) m_Path.Length(); i++)
{ {
if (m_Path[(unsigned int) i] == wxT(':')) if (m_Path[(unsigned int) i] == wxT(':'))
{ {
m_Path.Remove(i+1); m_Path.Remove(i+1);
break; break;
} }
} }
if (i == (int) m_Path.Length()) if (i == (int) m_Path.Length())
m_Path = wxEmptyString; m_Path = wxEmptyString;
} }
else else
{ {
m_Path.Remove(pathpos+1); m_Path.Remove(pathpos+1);
} }
} }
@@ -333,10 +333,10 @@ wxFSFile* wxFileSystem::OpenFile(const wxString& location)
{ {
node = m_Handlers.GetFirst(); node = m_Handlers.GetFirst();
while (node) while (node)
{ {
wxFileSystemHandler *h = (wxFileSystemHandler*) node -> GetData(); wxFileSystemHandler *h = (wxFileSystemHandler*) node -> GetData();
if (h->CanOpen(m_Path + loc)) if (h->CanOpen(m_Path + loc))
{ {
s = h->OpenFile(*this, m_Path + loc); s = h->OpenFile(*this, m_Path + loc);
if (s) { m_LastName = m_Path + loc; break; } if (s) { m_LastName = m_Path + loc; break; }
} }
@@ -349,10 +349,10 @@ wxFSFile* wxFileSystem::OpenFile(const wxString& location)
{ {
node = m_Handlers.GetFirst(); node = m_Handlers.GetFirst();
while (node) while (node)
{ {
wxFileSystemHandler *h = (wxFileSystemHandler*) node->GetData(); wxFileSystemHandler *h = (wxFileSystemHandler*) node->GetData();
if (h->CanOpen(loc)) if (h->CanOpen(loc))
{ {
s = h->OpenFile(*this, loc); s = h->OpenFile(*this, loc);
if (s) { m_LastName = loc; break; } if (s) { m_LastName = loc; break; }
} }
@@ -470,12 +470,12 @@ class wxFileSystemModule : public wxModule
return TRUE; return TRUE;
} }
virtual void OnExit() virtual void OnExit()
{ {
#if wxUSE_MIMETYPE #if wxUSE_MIMETYPE
delete [] gs_FSMimeFallbacks; delete [] gs_FSMimeFallbacks;
#endif #endif
wxFileSystem::CleanUpHandlers(); wxFileSystem::CleanUpHandlers();
} }
}; };
IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule) IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)