X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c40fd721e4fb645c97368d0492ddb1a7a8922c53..7198c3368055d88249a338eb33b21f051f674806:/src/common/uri.cpp?ds=sidebyside diff --git a/src/common/uri.cpp b/src/common/uri.cpp index 807268f80d..86faa7a62f 100644 --- a/src/common/uri.cpp +++ b/src/common/uri.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: uri.cpp +// Name: src/common/uri.cpp // Purpose: Implementation of a URI parser // Author: Ryan Norton, // Vadim Zeitlin (UTF-8 URI support, many other changes) @@ -27,7 +27,6 @@ #ifndef WX_PRECOMP #include "wx/crt.h" - #include "wx/arrstr.h" #endif #include "wx/uri.h" @@ -133,7 +132,7 @@ wxString wxURI::Unescape(const wxString& uri) wxASSERT_MSG( n >= 0 && n <= 0xff, "unexpected character value" ); - c = wx_static_cast(char, n); + c = static_cast(n); } *p = c; @@ -185,22 +184,19 @@ void wxURI::AppendNextEscaped(wxString& s, const char *& p) // --------------------------------------------------------------------------- wxString wxURI::GetUser() const { - size_t dwPasswordPos = m_userinfo.find(':'); - - if (dwPasswordPos == wxString::npos) - dwPasswordPos = 0; - - return m_userinfo(0, dwPasswordPos); + // if there is no colon at all, find() returns npos and this method returns + // the entire string which is correct as it means that password was omitted + return m_userinfo(0, m_userinfo.find(':')); } wxString wxURI::GetPassword() const { - size_t dwPasswordPos = m_userinfo.find(':'); + size_t posColon = m_userinfo.find(':'); - if (dwPasswordPos == wxString::npos) + if ( posColon == wxString::npos ) return ""; - else - return m_userinfo(dwPasswordPos+1, m_userinfo.length() + 1); + + return m_userinfo(posColon + 1, wxString::npos); } // combine all URI fields in a single string, applying funcDecode to each @@ -443,7 +439,7 @@ const char* wxURI::ParseServer(const char* uri) { m_hostType = wxURI_IPV6ADDRESS; - m_server.assign(start, uri - start - 1); + m_server.assign(start + 1, uri - start - 1); ++uri; } else @@ -454,7 +450,7 @@ const char* wxURI::ParseServer(const char* uri) { m_hostType = wxURI_IPVFUTURE; - m_server.assign(start, uri - start - 1); + m_server.assign(start + 1, uri - start - 1); ++uri; } else // unrecognized IP literal @@ -469,7 +465,7 @@ const char* wxURI::ParseServer(const char* uri) { m_hostType = wxURI_IPV4ADDRESS; - m_server.assign(start, uri - start - 1); + m_server.assign(start, uri - start); } else {