Piotr Caban : urlmon: Handle implicit file scheme in MapUrlToZone and GetSecurityId functions.

Alexandre Julliard julliard at winehq.org
Tue Jan 31 14:06:19 CST 2012


Module: wine
Branch: master
Commit: 804a9d80d85d85485e8d586271996edba0a7e3b0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=804a9d80d85d85485e8d586271996edba0a7e3b0

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Jan 31 14:11:20 2012 +0100

urlmon: Handle implicit file scheme in MapUrlToZone and GetSecurityId functions.

---

 dlls/urlmon/sec_mgr.c       |    4 ++--
 dlls/urlmon/tests/sec_mgr.c |    4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c
index d569f12..d8f1a2b 100644
--- a/dlls/urlmon/sec_mgr.c
+++ b/dlls/urlmon/sec_mgr.c
@@ -602,7 +602,7 @@ static HRESULT map_url_to_zone(LPCWSTR url, DWORD *zone, LPWSTR *ret_url)
         memcpy(secur_url, url, size);
     }
 
-    hres = CreateUri(secur_url, 0, 0, &secur_uri);
+    hres = CreateUri(secur_url, Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &secur_uri);
     if(FAILED(hres)) {
         CoTaskMemFree(secur_url);
         return hres;
@@ -805,7 +805,7 @@ static HRESULT get_security_id_for_url(LPCWSTR url, BYTE *secid, DWORD *secid_le
     if(FAILED(hres))
         return hres == 0x80041001 ? E_INVALIDARG : hres;
 
-    hres = CreateUri(secur_url, 0, 0, &uri);
+    hres = CreateUri(secur_url, Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &uri);
     CoTaskMemFree(secur_url);
     if(FAILED(hres))
         return hres;
diff --git a/dlls/urlmon/tests/sec_mgr.c b/dlls/urlmon/tests/sec_mgr.c
index 2509d84..d0e89ce 100644
--- a/dlls/urlmon/tests/sec_mgr.c
+++ b/dlls/urlmon/tests/sec_mgr.c
@@ -105,6 +105,7 @@ static const WCHAR url14[] = {'z','i','p',':','t','e','s','t','i','n','g','.','c
 static const WCHAR url15[] = {'h','t','t','p',':','/','/','g','o','o','g','l','e','.','c','o','m','.','u','k',0};
 static const WCHAR url16[] = {'f','i','l','e',':','/','/','/','c',':',0};
 static const WCHAR url17[] = {'f','i','l','e',':','/','/','/','c',':','c','\\',0};
+static const WCHAR url18[] = {'c',':','\\','t','e','s','t','.','h','t','m',0};
 
 static const WCHAR url4e[] = {'f','i','l','e',':','s','o','m','e',' ','f','i','l','e',
         '.','j','p','g',0};
@@ -161,7 +162,8 @@ static struct secmgr_test {
     {url11,0,   S_OK, sizeof(secid1), secid1, S_OK},
     {url12,0,   S_OK, sizeof(secid1), secid1, S_OK},
     {url16,0,   S_OK, sizeof(secid1), secid1, S_OK},
-    {url17,0,   S_OK, sizeof(secid1), secid1, S_OK}
+    {url17,0,   S_OK, sizeof(secid1), secid1, S_OK},
+    {url18,0,   S_OK, sizeof(secid1), secid1, S_OK}
 };
 
 static int strcmp_w(const WCHAR *str1, const WCHAR *str2)




More information about the wine-cvs mailing list