]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filesys.cpp
Fix wxHtmlHelpData::SetTempDir() to behave correctly without trailing slash.
[wxWidgets.git] / src / common / filesys.cpp
index bf6fbc2efe7a4ce836f09cdc50996a7ecdfb958a..06edca28a2fe3b14507bfe64bfc19f8e0b5302bd 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxFileSystem class - interface for opening files
 // Author:      Vaclav Slavik
 // Copyright:   (c) 1999 Vaclav Slavik
-// CVS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -255,14 +254,14 @@ wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString&
 #else
 #error One of wxUSE_FILE or wxUSE_FFILE must be set to 1 for wxFSHandler to work
 #endif
-    if ( !is->Ok() )
+    if ( !is->IsOk() )
     {
         delete is;
         return NULL;
     }
 
     return new wxFSFile(is,
-                        right,
+                        location,
                         wxEmptyString,
                         GetAnchor(location)
 #if wxUSE_DATETIME
@@ -635,11 +634,11 @@ wxFileName wxFileSystem::URLToFileName(const wxString& url)
 
     path = wxURI::Unescape(path);
 
-#ifdef __WXMSW__
+#ifdef __WINDOWS__
     // file urls either start with a forward slash (local harddisk),
     // otherwise they have a servername/sharename notation,
     // which only exists on msw and corresponds to a unc
-    if ( path[0u] == wxT('/') && path [1u] != wxT('/'))
+    if ( path.length() > 1 && (path[0u] == wxT('/') && path [1u] != wxT('/')) )
     {
         path = path.Mid(1);
     }
@@ -756,5 +755,29 @@ class wxFileSystemModule : public wxModule
 
 IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)
 
+//// wxFSInputStream
+
+wxFSInputStream::wxFSInputStream(const wxString& filename, int flags)
+{
+    wxFileSystem fs;
+    m_file = fs.OpenFile(filename, flags | wxFS_READ);
+
+    if ( m_file )
+    {
+        wxInputStream* const stream = m_file->GetStream();
+        if ( stream )
+        {
+            // Notice that we pass the stream by reference: it shouldn't be
+            // deleted by us as it's owned by m_file already.
+            InitParentStream(*stream);
+        }
+    }
+}
+
+wxFSInputStream::~wxFSInputStream()
+{
+    delete m_file;
+}
+
 #endif
   // wxUSE_FILESYSTEM