X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41895a05eae22da85e8c659f9492d2312a63af13..1d37e644007e676b82e75426daa1d5118bb76780:/src/common/url.cpp diff --git a/src/common/url.cpp b/src/common/url.cpp index 6df0b8ff58..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) { @@ -107,7 +107,7 @@ bool wxURL::ParseURL() void wxURL::CleanData() { - if (m_protoname != "proxy") + if (m_protoname != _T("proxy")) delete m_protocol; } @@ -116,11 +116,10 @@ wxURL::~wxURL() CleanData(); } -/* - * -------------------------------------------------------------- - * --------- wxURL urls decoders -------------------------------- - * -------------------------------------------------------------- - */ +// -------------------------------------------------------------- +// --------- wxURL urls decoders -------------------------------- +// -------------------------------------------------------------- + bool wxURL::PrepProto(wxString& url) { int pos; @@ -160,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); } @@ -218,11 +216,10 @@ bool wxURL::FetchProtocol() return FALSE; } -/* - * -------------------------------------------------------------- - * --------- wxURL get ------------------------------------------ - * -------------------------------------------------------------- - */ +// -------------------------------------------------------------- +// --------- wxURL get ------------------------------------------ +// -------------------------------------------------------------- + wxInputStream *wxURL::GetInputStream(void) { wxIPV4address addr; @@ -238,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); } @@ -314,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<uri.Len();i++) { + wxChar c = uri.GetChar(i); + + if (!isalpha(c) && c != _T('.') && c != _T('+') && c != _T('.') && + c != _T('/')) { + hexa_code.Printf(_T("%02X"), c); + out_str += hexa_code; + } else + out_str += c; + } + + return out_str; +} + +#endif + // wxUSE_SOCKETS