X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4115960d4b88375610bd0a8990a5a522c9fbe003..d10e22fe8ad283f37b1809349028ffc282e393ce:/src/common/uri.cpp diff --git a/src/common/uri.cpp b/src/common/uri.cpp index 30a0004bc1..ccc0149a4b 100644 --- a/src/common/uri.cpp +++ b/src/common/uri.cpp @@ -113,7 +113,7 @@ wxChar wxURI::TranslateEscape(const wxChar* s) { wxASSERT_MSG( IsHex(s[0]) && IsHex(s[1]), wxT("Invalid escape sequence!")); - return (wxChar)( CharToHex(s[0]) << 4 ) | CharToHex(s[1]); + return wx_truncate_cast(wxChar, (CharToHex(s[0]) << 4 ) | CharToHex(s[1])); } wxString wxURI::Unescape(const wxString& uri) @@ -432,11 +432,18 @@ const wxChar* wxURI::ParseAuthority(const wxChar* uri) // authority = [ userinfo "@" ] host [ ":" port ] if (*uri == wxT('/') && *(uri+1) == wxT('/')) { + //skip past the two slashes uri += 2; + // ############# DEVIATION FROM RFC ######################### + // Don't parse the server component for file URIs + if(m_scheme != wxT("file")) + { + //normal way uri = ParseUserInfo(uri); uri = ParseServer(uri); return ParsePort(uri); + } } return uri;