X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a2c6ef8d186df490df28a694820a5e8afc4b5e8..9e855852c1bc24ddd49b69df5290111022a96093:/src/common/url.cpp diff --git a/src/common/url.cpp b/src/common/url.cpp index f2d58e5dbb..3c8aebe2dc 100644 --- a/src/common/url.cpp +++ b/src/common/url.cpp @@ -20,6 +20,8 @@ #pragma hdrstop #endif +#if wxUSE_SOCKETS + #ifndef WX_PRECOMP #endif @@ -43,15 +45,13 @@ IMPLEMENT_CLASS(wxURL, wxObject) wxProtoInfo *wxURL::g_protocols = NULL; wxHTTP *wxURL::g_proxy; -///////////////////////////////////////////////////////////////// -// wxURL //////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////// +// -------------------------------------------------------------- +// wxURL +// -------------------------------------------------------------- -/* - * -------------------------------------------------------------- - * --------- wxURL CONSTRUCTOR DESTRUCTOR ----------------------- - * -------------------------------------------------------------- - */ +// -------------------------------------------------------------- +// --------- wxURL CONSTRUCTOR DESTRUCTOR ----------------------- +// -------------------------------------------------------------- wxURL::wxURL(const wxString& url) { @@ -64,6 +64,7 @@ wxURL::wxURL(const wxString& url) } m_url = url; m_error = wxURL_NOERR; + ParseURL(); } bool wxURL::ParseURL() @@ -106,7 +107,7 @@ bool wxURL::ParseURL() void wxURL::CleanData() { - if (m_protoname != "proxy") + if (m_protoname != _T("proxy")) delete m_protocol; } @@ -115,11 +116,10 @@ wxURL::~wxURL() CleanData(); } -/* - * -------------------------------------------------------------- - * --------- wxURL urls decoders -------------------------------- - * -------------------------------------------------------------- - */ +// -------------------------------------------------------------- +// --------- wxURL urls decoders -------------------------------- +// -------------------------------------------------------------- + bool wxURL::PrepProto(wxString& url) { int pos; @@ -159,10 +159,9 @@ bool wxURL::PrepHost(wxString& url) // Retrieve service number pos2 = temp_url.Find(':', TRUE); if (pos2 != -1 && pos2 < pos) { - m_servname = url(pos2, pos); + m_servname = temp_url(pos2+1, pos); if (!m_servname.IsNumber()) return FALSE; - pos2 = pos; temp_url = temp_url(0, pos2); } @@ -217,11 +216,10 @@ bool wxURL::FetchProtocol() return FALSE; } -/* - * -------------------------------------------------------------- - * --------- wxURL get ------------------------------------------ - * -------------------------------------------------------------- - */ +// -------------------------------------------------------------- +// --------- wxURL get ------------------------------------------ +// -------------------------------------------------------------- + wxInputStream *wxURL::GetInputStream(void) { wxIPV4address addr; @@ -237,7 +235,7 @@ wxInputStream *wxURL::GetInputStream(void) } m_error = wxURL_NOERR; - if (m_user != "") { + if (m_user != _T("")) { m_protocol->SetUser(m_user); m_protocol->SetPassword(m_password); } @@ -313,3 +311,26 @@ void wxURL::SetProxy(const wxString& url_proxy) m_protoname = "proxy"; m_path = url_proxy; } + +wxString wxURL::ConvertToValidURI(const wxString& uri) +{ + wxString out_str; + wxString hexa_code; + size_t i; + + for (i=0;i