]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/uri.cpp
Applied #15375 to stop event-sending in generic wxSpinCtrl ctor (eco)
[wxWidgets.git] / src / common / uri.cpp
index 807268f80d19741500e9beb61e92b75e64d15e48..d6279eed2b68cc113b434be6928bbaa3c5778719 100644 (file)
@@ -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<char>(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.
 // ---------------------------------------------------------------------------