X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2186321ff5525cfc61c7085a298685b8afc669ab..08670ea85abf4b4946a9ce64971b591d7b1ee30b:/src/common/uri.cpp diff --git a/src/common/uri.cpp b/src/common/uri.cpp index b8b569ab1b..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) @@ -132,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; @@ -184,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 @@ -442,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 @@ -453,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 @@ -468,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 {