]> 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 9f5a7c9a24c4ccc0e952e85f5a7625eeb64837e0..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
 /////////////////////////////////////////////////////////////////////////////
 
@@ -262,7 +261,7 @@ wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString&
     }
 
     return new wxFSFile(is,
-                        right,
+                        location,
                         wxEmptyString,
                         GetAnchor(location)
 #if wxUSE_DATETIME
@@ -635,7 +634,7 @@ 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
@@ -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