fix wxURI::GetUser() for URIs without password; added unit test case for it (closes #10412)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@58272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-01-21 17:02:11 +00:00
parent ff0ac260ef
commit 13c766f651
2 changed files with 9 additions and 11 deletions

View File

@@ -101,6 +101,7 @@ All:
- Corrected Serbian locale name (Cody Precord). - Corrected Serbian locale name (Cody Precord).
- Fix wxURL::GetInputStream() for URLs with special characters in credentials - Fix wxURL::GetInputStream() for URLs with special characters in credentials
(Robert Wruck). (Robert Wruck).
- Fix wxURI::GetUser() for URIs without password.
All (GUI): All (GUI):

View File

@@ -159,22 +159,19 @@ bool wxURI::IsEscape(const wxChar*& uri)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
wxString wxURI::GetUser() const wxString wxURI::GetUser() const
{ {
size_t dwPasswordPos = m_userinfo.find(':'); // 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
if (dwPasswordPos == wxString::npos) return m_userinfo(0, m_userinfo.find(':'));
dwPasswordPos = 0;
return m_userinfo(0, dwPasswordPos);
} }
wxString wxURI::GetPassword() const 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 wxT(""); return "";
else
return m_userinfo(dwPasswordPos+1, m_userinfo.length() + 1); return m_userinfo(posColon + 1, wxString::npos);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------