]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/uri.cpp
wxTextOutputStream::PutChar and text stream test
[wxWidgets.git] / src / common / uri.cpp
index 584eaf37e1c9bdf581ce6219498268010dee548e..f7351a56ac738e494c1e8c1c8bf10666f9a3f9fd 100644 (file)
@@ -118,7 +118,7 @@ wxChar wxURI::TranslateEscape(const wxChar* s)
     wxASSERT_MSG(IsHex(*s) && IsHex(*(s+1)), wxT("Invalid escape!"));
 
     //<<4 == 16
-    return ( CharToHex(*s) << 4 ) | CharToHex(*++s);
+    return (wxChar)( CharToHex(*s) << 4 ) | CharToHex(*++s);
 }
 
 wxString wxURI::Unescape(const wxString& uri)
@@ -467,26 +467,28 @@ const wxChar* wxURI::ParseServer(const wxChar* uri)
     // IP-literal    = "[" ( IPv6address / IPvFuture  ) "]"
     if (*uri == wxT('['))
     {
-        if (ParseIPv6address(++uri) && *uri == wxT(']'))
+        ++uri; //some compilers don't support *&ing a ++*
+        if (ParseIPv6address(uri) && *uri == wxT(']'))
         {
             ++uri;
             m_hostType = wxURI_IPV6ADDRESS;
 
             wxStringBufferLength theBuffer(m_server, uri - uricopy);
-            wxMemcpy(theBuffer, uricopy, uri-uricopy);
+            wxTmemcpy(theBuffer, uricopy, uri-uricopy);
             theBuffer.SetLength(uri-uricopy);
         }
         else
         {
             uri = uricopy;
 
-            if (ParseIPvFuture(++uri) && *uri == wxT(']'))
+            ++uri; //some compilers don't support *&ing a ++*
+            if (ParseIPvFuture(uri) && *uri == wxT(']'))
             {
                 ++uri;
                 m_hostType = wxURI_IPVFUTURE;
 
                 wxStringBufferLength theBuffer(m_server, uri - uricopy);
-                wxMemcpy(theBuffer, uricopy, uri-uricopy);
+                wxTmemcpy(theBuffer, uricopy, uri-uricopy);
                 theBuffer.SetLength(uri-uricopy);
             }
             else
@@ -500,7 +502,7 @@ const wxChar* wxURI::ParseServer(const wxChar* uri)
             m_hostType = wxURI_IPV4ADDRESS;
 
             wxStringBufferLength theBuffer(m_server, uri - uricopy);
-            wxMemcpy(theBuffer, uricopy, uri-uricopy);
+            wxTmemcpy(theBuffer, uricopy, uri-uricopy);
             theBuffer.SetLength(uri-uricopy);
         }
         else
@@ -594,7 +596,7 @@ const wxChar* wxURI::ParsePath(const wxChar* uri, bool bReference, bool bNormali
         {
             wxStringBufferLength theBuffer(m_path, m_path.length() + 1);
 #if wxUSE_STL
-            wxMemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
+            wxTmemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
 #endif
             Normalize(theBuffer, true);
             theBuffer.SetLength(wxStrlen(theBuffer));
@@ -634,7 +636,7 @@ const wxChar* wxURI::ParsePath(const wxChar* uri, bool bReference, bool bNormali
             {
                 wxStringBufferLength theBuffer(m_path, m_path.length() + 1);
 #if wxUSE_STL
-                wxMemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
+                wxTmemcpy(theBuffer, m_path.c_str(), m_path.length()+1);
 #endif
                 Normalize(theBuffer);
                 theBuffer.SetLength(wxStrlen(theBuffer));