X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c40fd721e4fb645c97368d0492ddb1a7a8922c53..2f36b4d22beeb7f4f0cedf922c0c26d037f54477:/src/common/uri.cpp?ds=sidebyside diff --git a/src/common/uri.cpp b/src/common/uri.cpp index 807268f80d..d6279eed2b 100644 --- a/src/common/uri.cpp +++ b/src/common/uri.cpp @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// 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) // Created: 10/26/04 -// RCS-ID: $Id$ // Copyright: (c) 2004 Ryan Norton, // 2008 Vadim Zeitlin // Licence: wxWindows licence @@ -27,7 +26,6 @@ #ifndef WX_PRECOMP #include "wx/crt.h" - #include "wx/arrstr.h" #endif #include "wx/uri.h" @@ -133,7 +131,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 +183,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 +438,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 +449,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 +464,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 { @@ -821,7 +816,7 @@ bool wxURI::ParseH16(const char*& uri) // // Parses a certain version of an IP address and moves the input string past // it. Returns true if the input string contains the proper version of an ip -// address. It is the caller's responsability to move the input string back +// address. It is the caller's responsibility to move the input string back // to its original position on failure. // ---------------------------------------------------------------------------