X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5be0cf6503a67bcb7882f6c91b9bea0b07e95053..0f05afccede840e04872bfc82103b689b8edc447:/src/common/filesys.cpp?ds=inline diff --git a/src/common/filesys.cpp b/src/common/filesys.cpp index 120cfc28f0..85a55e95b8 100644 --- a/src/common/filesys.cpp +++ b/src/common/filesys.cpp @@ -17,12 +17,8 @@ #pragma hdrstop #endif -#if !wxUSE_SOCKETS - #undef wxUSE_FS_INET - #define wxUSE_FS_INET 0 -#endif -#if (wxUSE_HTML || wxUSE_FS_INET || wxUSE_FS_ZIP) && wxUSE_STREAMS +#if wxUSE_FILESYSTEM #include "wx/wfstream.h" #include "wx/module.h" @@ -93,14 +89,13 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location) } ft = wxTheMimeTypesManager -> GetFileTypeFromExtension(ext); - if (ft && (ft -> GetMimeType(&mime))) { - delete ft; - return mime; - } - else { - delete ft; - return wxEmptyString; + if ( !ft || !ft -> GetMimeType(&mime) ) { + mime = wxEmptyString; } + + delete ft; + + return mime; } @@ -190,13 +185,15 @@ bool wxLocalFSHandler::CanOpen(const wxString& location) wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString& location) { wxString right = GetRightLocation(location); - if (wxFileExists(right)) - return new wxFSFile(new wxFileInputStream(right), - right, - GetMimeTypeFromExt(location), - GetAnchor(location), - wxDateTime(wxFileModificationTime(right))); - else return (wxFSFile*) NULL; + if (!wxFileExists(right)) + return (wxFSFile*) NULL; + + return new wxFSFile(new wxFileInputStream(right), + right, + GetMimeTypeFromExt(location), + GetAnchor(location), + wxDateTime(wxFileModificationTime(right))); + } wxString wxLocalFSHandler::FindFirst(const wxString& spec, int flags) @@ -230,33 +227,33 @@ static wxString MakeCorrectPath(const wxString& path) cnt = p.Length(); for (i = 0; i < cnt; i++) - if (p[i] == wxT('\\')) p.GetWritableChar(i) = wxT('/'); // wanna be windows-safe + if (p.GetChar(i) == wxT('\\')) p.GetWritableChar(i) = wxT('/'); // Want to be windows-safe if (p.Left(2) == wxT("./")) { p = p.Mid(2); cnt -= 2; } if (cnt < 3) return p; - r << p[0] << p[1]; + r << p.GetChar(0) << p.GetChar(1); // skip trailing ../.., if any - for (i = 2; i < cnt && (p[i] == wxT('/') || p[i] == wxT('.')); i++) r << p[i]; + for (i = 2; i < cnt && (p.GetChar(i) == wxT('/') || p.GetChar(i) == wxT('.')); i++) r << p.GetChar(i); // remove back references: translate dir1/../dir2 to dir2 for (; i < cnt; i++) { - r << p[i]; - if (p[i] == wxT('/') && p[i-1] == wxT('.') && p[i-2] == wxT('.')) + r << p.GetChar(i); + if (p.GetChar(i) == wxT('/') && p.GetChar(i-1) == wxT('.') && p.GetChar(i-2) == wxT('.')) { - for (j = r.Length() - 2; j >= 0 && r[j] != wxT('/') && r[j] != wxT(':'); j--) {} - if (j >= 0 && r[j] != wxT(':')) + for (j = r.Length() - 2; j >= 0 && r.GetChar(j) != wxT('/') && r.GetChar(j) != wxT(':'); j--) {} + if (j >= 0 && r.GetChar(j) != wxT(':')) { - for (j = j - 1; j >= 0 && r[j] != wxT('/') && r[j] != wxT(':'); j--) {} + for (j = j - 1; j >= 0 && r.GetChar(j) != wxT('/') && r.GetChar(j) != wxT(':'); j--) {} r.Remove(j + 1); } } } - for (; i < cnt; i++) r << p[i]; + for (; i < cnt; i++) r << p.GetChar(i); return r; } @@ -330,11 +327,13 @@ wxFSFile* wxFileSystem::OpenFile(const wxString& location) meta = 0; for (i = 0; i < ln; i++) { - if (!meta) - switch (loc[i]) - { - case wxT('/') : case wxT(':') : case wxT('#') : meta = loc[i]; - } + switch (loc[i]) + { + case wxT('/') : case wxT(':') : case wxT('#') : + meta = loc[i]; + break; + } + if (meta != 0) break; } m_LastName = wxEmptyString; @@ -382,7 +381,7 @@ wxString wxFileSystem::FindFirst(const wxString& spec, int flags) m_FindFileHandler = NULL; for (int i = spec2.Length()-1; i >= 0; i--) - if (spec2[(unsigned int) i] == wxT('\\')) spec2.GetWritableChar(i) = wxT('/'); // wanna be windows-safe + if (spec2[(unsigned int) i] == wxT('\\')) spec2.GetWritableChar(i) = wxT('/'); // Want to be windows-safe node = m_Handlers.GetFirst(); while (node) @@ -451,7 +450,7 @@ class wxFileSystemModule : public wxModule IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule) #endif - // (wxUSE_FS_INET || wxUSE_FS_ZIP) && wxUSE_STREAMS + // wxUSE_FILESYSTEM