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

André Hentschel nerv at dawncrow.de
Thu May 12 13:54:54 CDT 2011


---
 dlls/urlmon/ftp.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c
index 04cf49c..3d89e6e 100644
--- a/dlls/urlmon/ftp.c
+++ b/dlls/urlmon/ftp.c
@@ -60,12 +60,21 @@ 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 = SysStringLen(url);
+    hres = UrlUnescapeW(url, NULL, &len, URL_UNESCAPE_INPLACE);
+    if(FAILED(hres))
+    {
+        SysFreeString(url);
+        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