]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/uri.cpp
currently avoid problems when releasing the capture during drag on osx_cocoa
[wxWidgets.git] / src / common / uri.cpp
index b8b569ab1b66d6ce67ae3feed655855e86c6bd1c..aac7aec3d19d2c7a6a79ccb9b2a229ff0f4e3539 100644 (file)
@@ -132,7 +132,7 @@ wxString wxURI::Unescape(const wxString& uri)
 
             wxASSERT_MSG( n >= 0 && n <= 0xff, "unexpected character value" );
 
 
             wxASSERT_MSG( n >= 0 && n <= 0xff, "unexpected character value" );
 
-            c = wx_static_cast(char, n);
+            c = static_cast<char>(n);
         }
 
         *p = c;
         }
 
         *p = c;
@@ -184,22 +184,19 @@ void wxURI::AppendNextEscaped(wxString& s, const char *& p)
 // ---------------------------------------------------------------------------
 wxString wxURI::GetUser() const
 {
 // ---------------------------------------------------------------------------
 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
 {
 }
 
 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 "";
           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
 }
 
 // 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_hostType = wxURI_IPV6ADDRESS;
 
-            m_server.assign(start, uri - start - 1);
+            m_server.assign(start + 1, uri - start - 1);
             ++uri;
         }
         else
             ++uri;
         }
         else
@@ -453,7 +450,7 @@ const char* wxURI::ParseServer(const char* uri)
             {
                 m_hostType = wxURI_IPVFUTURE;
 
             {
                 m_hostType = wxURI_IPVFUTURE;
 
-                m_server.assign(start, uri - start - 1);
+                m_server.assign(start + 1, uri - start - 1);
                 ++uri;
             }
             else // unrecognized IP literal
                 ++uri;
             }
             else // unrecognized IP literal
@@ -468,7 +465,7 @@ const char* wxURI::ParseServer(const char* uri)
         {
             m_hostType = wxURI_IPV4ADDRESS;
 
         {
             m_hostType = wxURI_IPV4ADDRESS;
 
-            m_server.assign(start, uri - start - 1);
+            m_server.assign(start, uri - start);
         }
         else
         {
         }
         else
         {