X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2adc95dea362a1b93df2aa1c051227a07a7a4636..2e49a8074e7c9179b642852ff00ed8fdf0768bb1:/src/common/uri.cpp?ds=sidebyside diff --git a/src/common/uri.cpp b/src/common/uri.cpp index b8b569ab1b..aac7aec3d1 100644 --- a/src/common/uri.cpp +++ b/src/common/uri.cpp @@ -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 {