X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a4df1595bc8ce70286afe99f122f64916790ad4..78e848cac9c973346dcf598f3c1b942b63dd2821:/src/common/url.cpp diff --git a/src/common/url.cpp b/src/common/url.cpp index db4517e3d9..71cae1f2f7 100644 --- a/src/common/url.cpp +++ b/src/common/url.cpp @@ -23,10 +23,10 @@ #include #include -#include -#include -#include -#include +#include "wx/string.h" +#include "wx/list.h" +#include "wx/utils.h" +#include "wx/url.h" #if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxProtoInfo, wxObject) @@ -105,9 +105,9 @@ bool wxURL::ParseURL() CleanData(); // Third, we rebuild the URL. - m_url = m_protoname + _T(":"); + m_url = m_protoname + wxT(":"); if (m_protoinfo->m_needhost) - m_url = m_url + _T("//") + m_hostname; + m_url = m_url + wxT("//") + m_hostname; m_url += m_path; @@ -146,7 +146,7 @@ bool wxURL::PrepProto(wxString& url) int pos; // Find end - pos = url.Find(_T(':')); + pos = url.Find(wxT(':')); if (pos == -1) return FALSE; @@ -162,12 +162,12 @@ bool wxURL::PrepHost(wxString& url) wxString temp_url; int pos, pos2; - if ((url.GetChar(0) != '/') || (url.GetChar(1) != '/')) + if ((url.GetChar(0) != wxT('/')) || (url.GetChar(1) != wxT('/'))) return FALSE; url = url(2, url.Length()); - pos = url.Find(_T('/')); + pos = url.Find(wxT('/')); if (pos == -1) pos = url.Length(); @@ -175,10 +175,10 @@ bool wxURL::PrepHost(wxString& url) return FALSE; temp_url = url(0, pos); - url = url(url.Find(_T('/')), url.Length()); + url = url(url.Find(wxT('/')), url.Length()); // Retrieve service number - pos2 = temp_url.Find(_T(':'), TRUE); + pos2 = temp_url.Find(wxT(':'), TRUE); if (pos2 != -1 && pos2 < pos) { m_servname = temp_url(pos2+1, pos); if (!m_servname.IsNumber()) @@ -187,18 +187,18 @@ bool wxURL::PrepHost(wxString& url) } // Retrieve user and password. - pos2 = temp_url.Find(_T('@')); + pos2 = temp_url.Find(wxT('@')); // Even if pos2 equals -1, this code is right. m_hostname = temp_url(pos2+1, temp_url.Length()); - m_user = _T(""); - m_password = _T(""); + m_user = wxT(""); + m_password = wxT(""); if (pos2 == -1) return TRUE; temp_url = temp_url(0, pos2); - pos2 = temp_url.Find(_T(':')); + pos2 = temp_url.Find(wxT(':')); if (pos2 == -1) return FALSE; @@ -214,7 +214,7 @@ bool wxURL::PrepPath(wxString& url) if (url.Length() != 0) m_path = ConvertToValidURI(url); else - m_path = _T("/"); + m_path = wxT("/"); return TRUE; } @@ -240,7 +240,7 @@ bool wxURL::FetchProtocol() // --------- wxURL get ------------------------------------------ // -------------------------------------------------------------- -wxInputStream *wxURL::GetInputStream(void) +wxInputStream *wxURL::GetInputStream() { wxInputStream *the_i_stream = NULL; @@ -250,12 +250,14 @@ wxInputStream *wxURL::GetInputStream(void) } m_error = wxURL_NOERR; - if (m_user != _T("")) { + if (m_user != wxT("")) { m_protocol->SetUser(m_user); m_protocol->SetPassword(m_password); } #if wxUSE_SOCKETS + wxIPV4address addr; + // m_protoinfo is NULL when we use a proxy if (!m_useProxy && m_protoinfo->m_needhost) { if (!addr.Hostname(m_hostname)) { @@ -263,7 +265,6 @@ wxInputStream *wxURL::GetInputStream(void) return NULL; } - wxIPV4address addr; addr.Service(m_servname); if (!m_protocol->Connect(addr, TRUE)) // Watcom needs the 2nd arg for some reason @@ -299,7 +300,7 @@ void wxURL::SetDefaultProxy(const wxString& url_proxy) } wxString tmp_str = url_proxy; - int pos = tmp_str.Find(_T(':')); + int pos = tmp_str.Find(wxT(':')); if (pos == -1) return; @@ -337,7 +338,7 @@ void wxURL::SetProxy(const wxString& url_proxy) wxIPV4address addr; tmp_str = url_proxy; - pos = tmp_str.Find(_T(':')); + pos = tmp_str.Find(wxT(':')); // This is an invalid proxy name. if (pos == -1) return; @@ -370,17 +371,44 @@ wxString wxURL::ConvertToValidURI(const wxString& uri) for (i=0;i= wxT('A') && uri[i] <= wxT('F')) + code = (uri[i] - wxT('A') + 10) * 16; + else + code = (uri[i] - wxT('0')) * 16; + i++; + if (uri[i] >= wxT('A') && uri[i] <= wxT('F')) + code += (uri[i] - wxT('A')) + 10; + else + code += (uri[i] - wxT('0')); + i++; + new_uri += (wxChar)code; + continue; + } + new_uri += uri[i]; + i++; + } + return new_uri; +}