]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/uri.cpp
fixed SetUserScale() calls to use correct scale on Y axis
[wxWidgets.git] / src / common / uri.cpp
index 022b66b590a347e99e114a1c3993789beeb1b66d..7ddc18d1dd1c3ba33b470b0b23528c90d5d87b4e 100644 (file)
     #pragma hdrstop
 #endif
 
+#ifndef WX_PRECOMP
+    #include "wx/crt.h"
+#endif
+
 #include "wx/uri.h"
 
 // ---------------------------------------------------------------------------
@@ -93,7 +97,10 @@ const wxChar* wxURI::Create(const wxString& uri)
     if (m_fields)
         Clear();
 
-    return Parse(uri);
+    // FIXME-UTF8: rewrite ParseXXX() methods using iterators
+    // NB: using wxWxCharBuffer instead of just c_str() avoids keeping
+    //     converted string in memory for longer than needed
+    return Parse(wxWxCharBuffer(uri.c_str()));
 }
 
 // ---------------------------------------------------------------------------
@@ -374,7 +381,7 @@ bool wxURI::IsReference() const
 // URI-reference = URI / relative
 // ---------------------------------------------------------------------------
 
-const wxChar* wxURI::Parse(const wxCharuri)
+const wxChar* wxURI::Parse(const wxChar *uri)
 {
     uri = ParseScheme(uri);
     uri = ParseAuthority(uri);
@@ -389,7 +396,7 @@ const wxChar* wxURI::Parse(const wxChar* uri)
 // Individual parsers for each URI component
 // ---------------------------------------------------------------------------
 
-const wxChar* wxURI::ParseScheme(const wxCharuri)
+const wxChar* wxURI::ParseScheme(const wxChar *uri)
 {
     wxASSERT(uri != NULL);
 
@@ -641,9 +648,6 @@ const wxChar* wxURI::ParsePath(const wxChar* uri, bool bReference, bool bNormali
         if (bNormalize)
         {
             wxStringBufferLength theBuffer(m_path, m_path.length() + 1);
-#if wxUSE_STL
-            wxTmemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
-#endif
             Normalize(theBuffer, true);
             theBuffer.SetLength(wxStrlen(theBuffer));
         }
@@ -693,9 +697,6 @@ const wxChar* wxURI::ParsePath(const wxChar* uri, bool bReference, bool bNormali
             if (bNormalize)
             {
                 wxStringBufferLength theBuffer(m_path, m_path.length() + 1);
-#if wxUSE_STL
-                wxTmemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
-#endif
                 Normalize(theBuffer);
                 theBuffer.SetLength(wxStrlen(theBuffer));
             }