X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00421206821da3373ddc075d63149826b3be38af..c8026dea6cf102fb741f132142f9d6584d3e0cef:/src/common/sckfile.cpp?ds=sidebyside diff --git a/src/common/sckfile.cpp b/src/common/sckfile.cpp index a4487f8df0..ba55e1ce96 100644 --- a/src/common/sckfile.cpp +++ b/src/common/sckfile.cpp @@ -6,36 +6,33 @@ // Created: 20/07/97 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#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_SOCKETS - #ifndef WX_PRECOMP + #include "wx/defs.h" #endif +#if wxUSE_STREAMS && wxUSE_PROTOCOL_FILE + #include -#include -#include +#include "wx/wfstream.h" +#include "wx/protocol/file.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol) -IMPLEMENT_PROTOCOL(wxFileProto, _T("file"), NULL, FALSE) -#endif +IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, false) wxFileProto::wxFileProto() - : wxProtocol() + : wxProtocol() { + m_error = wxPROTO_NOERR; } wxFileProto::~wxFileProto() @@ -44,8 +41,19 @@ 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_SOCKETS +#endif // wxUSE_STREAMS && wxUSE_PROTOCOL_FILE +