// 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
#include "wx/defs.h"
#endif
-#if wxUSE_STREAMS
+#if wxUSE_STREAMS && wxUSE_PROTOCOL_FILE
#include <stdio.h>
#include "wx/wfstream.h"
#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()
wxInputStream *wxFileProto::GetInputStream(const wxString& path)
{
- return new wxFileInputStream(path);
+ wxFileInputStream* retval = new wxFileInputStream(wxURI::Unescape(path));
+ if (retval->Ok()) {
+ return retval;
+ } else {
+ delete retval;
+ return 0;
+ }
}
-#endif
+#endif // wxUSE_STREAMS && wxUSE_PROTOCOL_FILE