]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/uri.cpp
add strike-through font support to wxGraphicsContext on GTK
[wxWidgets.git] / src / common / uri.cpp
index 807268f80d19741500e9beb61e92b75e64d15e48..86faa7a62fedf66289c60b043c2fb91db6b1a12a 100644 (file)
@@ -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)
@@ -27,7 +27,6 @@
 
 #ifndef WX_PRECOMP
     #include "wx/crt.h"
-    #include "wx/arrstr.h"
 #endif
 
 #include "wx/uri.h"
@@ -133,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<char>(n);
         }
 
         *p = c;
@@ -185,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
@@ -443,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
@@ -454,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
@@ -469,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
         {