urlmon: Use unescaped Urls for FTP actions (try 3)

André Hentschel nerv at dawncrow.de
Fri Mar 25 17:22:07 CDT 2011


Jacek gave me some advice and we made sure we have no other option to unescape the url.
---
 dlls/urlmon/ftp.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c
index c9d43b8..5857818 100644
--- a/dlls/urlmon/ftp.c
+++ b/dlls/urlmon/ftp.c
@@ -60,12 +60,18 @@ static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request
 {
     FtpProtocol *This = impl_from_Protocol(prot);
     BSTR url;
+    DWORD len;
     HRESULT hres;
 
     hres = IUri_GetAbsoluteUri(uri, &url);
     if(FAILED(hres))
         return hres;
 
+    len = strlenW(url);
+    hres = UrlUnescapeW((LPWSTR)url, NULL, &len, URL_UNESCAPE_INPLACE);
+    if(FAILED(hres))
+        return hres;
+
     This->base.request = InternetOpenUrlW(internet_session, url, NULL, 0,
             request_flags|INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_PASSIVE,
             (DWORD_PTR)&This->base);
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list