Piotr Caban : urlmon: Improve disk detection in MapUrlToZone.

Alexandre Julliard julliard at winehq.org
Mon Oct 31 12:49:03 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Sun Oct 30 17:45:27 2011 +0100

urlmon: Improve disk detection in MapUrlToZone.

---

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

diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c
index b7e1c36..8e55712 100644
--- a/dlls/urlmon/sec_mgr.c
+++ b/dlls/urlmon/sec_mgr.c
@@ -543,11 +543,11 @@ static HRESULT map_security_uri_to_zone(IUri *uri, DWORD *zone)
         else
             path_start = path;
 
-        if(((ptr = strchrW(path_start, '\\')) || (ptr = strchrW(path_start, '/'))) && ptr-path_start < sizeof(root)/sizeof(WCHAR)) {
+        if((ptr = strchrW(path_start, ':')) && ptr-path_start+1 < sizeof(root)/sizeof(WCHAR)) {
             UINT type;
 
-            memcpy(root, path_start, (ptr-path_start)*sizeof(WCHAR));
-            root[ptr-path_start] = 0;
+            memcpy(root, path_start, (ptr-path_start+1)*sizeof(WCHAR));
+            root[ptr-path_start+1] = 0;
 
             type = GetDriveTypeW(root);
 
diff --git a/dlls/urlmon/tests/sec_mgr.c b/dlls/urlmon/tests/sec_mgr.c
index 1311ea9..2f33f02 100644
--- a/dlls/urlmon/tests/sec_mgr.c
+++ b/dlls/urlmon/tests/sec_mgr.c
@@ -103,6 +103,8 @@ static const WCHAR url12[] = {'f','i','l','e',':','/','/','/','c',':','/','I','n
 static const WCHAR url13[] = {'h','t','t','p',':','g','o','o','g','l','e','.','c','o','m',0};
 static const WCHAR url14[] = {'z','i','p',':','t','e','s','t','i','n','g','.','c','o','m','/','t','e','s','t','i','n','g',0};
 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 url4e[] = {'f','i','l','e',':','s','o','m','e',' ','f','i','l','e',
         '.','j','p','g',0};
@@ -157,7 +159,9 @@ static struct secmgr_test {
     {url6, 3,   S_OK, sizeof(secid6), secid6, S_OK},
     {url7, 3,   S_OK, sizeof(secid7), secid7, S_OK},
     {url11,0,   S_OK, sizeof(secid1), secid1, S_OK},
-    {url12,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}
 };
 
 static int strcmp_w(const WCHAR *str1, const WCHAR *str2)




More information about the wine-cvs mailing list