X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef0e85f3f19bb66450d77b98606a315b3f1897a2..94dadb0a8e9436ec12b6831c5fc8cbc9ab9133e5:/src/common/sckfile.cpp diff --git a/src/common/sckfile.cpp b/src/common/sckfile.cpp index 11134b8373..db1cab98cc 100644 --- a/src/common/sckfile.cpp +++ b/src/common/sckfile.cpp @@ -6,9 +6,9 @@ // Created: 20/07/97 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "sckfile.h" #endif @@ -30,11 +30,12 @@ #include "wx/protocol/file.h" IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol) -IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, FALSE) +IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, false) wxFileProto::wxFileProto() - : wxProtocol() + : wxProtocol() { + m_error = wxPROTO_NOERR; } wxFileProto::~wxFileProto() @@ -43,7 +44,18 @@ wxFileProto::~wxFileProto() wxInputStream *wxFileProto::GetInputStream(const wxString& path) { - return new wxFileInputStream(path); + wxFileInputStream *retval = new wxFileInputStream(wxURI::Unescape(path)); + if ( retval->Ok() ) + { + m_error = wxPROTO_NOERR; + + return retval; + } + + m_error = wxPROTO_NOFILE; + delete retval; + + return NULL; } #endif // wxUSE_STREAMS && wxUSE_PROTOCOL_FILE