}
#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)) {
return NULL;
}
- wxIPV4address addr;
addr.Service(m_servname);
if (!m_protocol->Connect(addr, TRUE)) // Watcom needs the 2nd arg for some reason
if (c == _T(' '))
out_str += _T('+');
else {
- if (!isalpha(c) && c != _T('.') && c != _T('+') && c != _T('/')) {
+ if (!isalpha(c) && c != _T('.') && c != _T('+') && c != _T('/')) {
hexa_code.Printf(_T("%%%02X"), c);
out_str += hexa_code;
} else
out_str += c;
}
}
-
+
return out_str;
}
+wxString wxURL::ConvertFromURI(const wxString& uri)
+{
+ wxString new_uri;
+
+ size_t i = 0;
+ while (i<uri.Len()) {
+ int code;
+ if (uri[i] == _T('%')) {
+ i++;
+ if (uri[i] >= _T('A') && uri[i] <= _T('F'))
+ code = (uri[i] - _T('A') + 10) * 16;
+ else
+ code = (uri[i] - _T('0')) * 16;
+ i++;
+ if (uri[i] >= _T('A') && uri[i] <= _T('F'))
+ code += (uri[i] - _T('A')) + 10;
+ else
+ code += (uri[i] - _T('0'));
+ i++;
+ new_uri += (wxChar)code;
+ continue;
+ }
+ new_uri += uri[i];
+ i++;
+ }
+ return new_uri;
+}