X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34e0d9f874fe4ba3dd8112a68831cb20bb80cac7..0bd2681966523df88ad5cf8e505b532843e58d74:/src/common/sckfile.cpp diff --git a/src/common/sckfile.cpp b/src/common/sckfile.cpp index 2e3827ef6c..152a91f89f 100644 --- a/src/common/sckfile.cpp +++ b/src/common/sckfile.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: sckfile.cpp +// Name: src/common/sckfile.cpp // Purpose: File protocol // Author: Guilhem Lavaux // Modified by: @@ -8,24 +8,20 @@ // Copyright: (c) 1997, 1998 Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "sckfile.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_STREAMS && wxUSE_PROTOCOL_FILE + #ifndef WX_PRECOMP - #include "wx/defs.h" #endif -#if wxUSE_STREAMS && wxUSE_PROTOCOL_FILE - -#include +#include "wx/uri.h" #include "wx/wfstream.h" #include "wx/protocol/file.h" @@ -33,8 +29,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol) IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, false) wxFileProto::wxFileProto() - : wxProtocol() + : wxProtocol() { + m_error = wxPROTO_NOERR; } wxFileProto::~wxFileProto() @@ -43,18 +40,18 @@ wxFileProto::~wxFileProto() wxInputStream *wxFileProto::GetInputStream(const wxString& path) { -#if !wxUSE_URL - return NULL; -#else - wxFileInputStream* retval = new wxFileInputStream(wxURL::ConvertFromURI(path)); - if (retval->Ok()) { - return retval; - } else { + wxFileInputStream *retval = new wxFileInputStream(wxURI::Unescape(path)); + if ( retval->Ok() ) + { + m_error = wxPROTO_NOERR; + + return retval; + } + + m_error = wxPROTO_NOFILE; delete retval; - return 0; - } -#endif + + return NULL; } #endif // wxUSE_STREAMS && wxUSE_PROTOCOL_FILE -