/////////////////////////////////////////////////////////////////////////////
 
 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 /////////////////////////////////////////////////////////////////////////////
 
 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 {
     wxString s = wxEmptyString;
     int i, l = location.Length();
 {
     wxString s = wxEmptyString;
     int i, l = location.Length();
-    for (i = l-1; 
-         (i >= 0) && 
-         ((location[i] != wxT(':')) || (i == 1) ||
-              (location[i-2] == wxT(':'))
-#ifdef __WXMSW__
-              || ((i > 3) && location[i-4] == wxT(':')) // E.g. file://C:/thing.jpg
-#endif
-              );
+    for (i = l-1;
+         (i >= 0) &&
+         ((location[i] != wxT(':')) || (i == 1) || (location[i-2] == wxT(':')));
     if (i == 0) return wxEmptyString;
     else return location.Mid(i + 1, l2 - i - 2);
 }
 
 wxString wxFileSystemHandler::GetAnchor(const wxString& location) const
 {
     if (i == 0) return wxEmptyString;
     else return location.Mid(i + 1, l2 - i - 2);
 }
 
 wxString wxFileSystemHandler::GetAnchor(const wxString& location) const
 {
 // Returns the native path for a file URL
 wxFileName wxFileSystem::URLToFileName(const wxString& url)
 {
 // Returns the native path for a file URL
 wxFileName wxFileSystem::URLToFileName(const wxString& url)
 {
     path.Replace(wxT("%25"), wxT("%"));
     path.Replace(wxT("%3A"), wxT(":"));
 
 #ifdef __WXMSW__
     path.Replace(wxT("%25"), wxT("%"));
     path.Replace(wxT("%3A"), wxT(":"));
 
 #ifdef __WXMSW__
     // otherwise they have a servername/sharename notation,
     // which only exists on msw and corresponds to a unc
     // otherwise they have a servername/sharename notation,
     // which only exists on msw and corresponds to a unc