Jacek Caban : urlmon: Use pluggable protocol in CoInternetCompareUrl.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Dec 13 10:03:49 CST 2006
Module: wine
Branch: master
Commit: bb52f14d59f7a6abf8a099bf7998798821640b98
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb52f14d59f7a6abf8a099bf7998798821640b98
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Dec 12 21:54:47 2006 +0100
urlmon: Use pluggable protocol in CoInternetCompareUrl.
---
dlls/urlmon/internet.c | 21 +++++++++++++++++++++
dlls/urlmon/tests/misc.c | 15 +++++++++++++++
dlls/urlmon/urlmon_main.c | 6 ------
3 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/dlls/urlmon/internet.c b/dlls/urlmon/internet.c
index 0897e93..68692c1 100644
--- a/dlls/urlmon/internet.c
+++ b/dlls/urlmon/internet.c
@@ -236,3 +236,24 @@ HRESULT WINAPI CoInternetCombineUrl(LPCW
return hres;
}
+
+/**************************************************************************
+ * CoInternetCompareUrl (URLMON.@)
+ */
+HRESULT WINAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags)
+{
+ IInternetProtocolInfo *protocol_info;
+ HRESULT hres;
+
+ TRACE("(%s,%s,%08x)\n", debugstr_w(pwzUrl1), debugstr_w(pwzUrl2), dwCompareFlags);
+
+ protocol_info = get_protocol_info(pwzUrl1);
+
+ if(protocol_info) {
+ hres = IInternetProtocolInfo_CompareUrl(protocol_info, pwzUrl1, pwzUrl2, dwCompareFlags);
+ if(SUCCEEDED(hres))
+ return hres;
+ }
+
+ return UrlCompareW(pwzUrl1, pwzUrl2, dwCompareFlags) ? S_FALSE : S_OK;
+}
diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index 5a0b081..fedd15d 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -328,6 +328,20 @@ static void test_CoInternetParseUrl(void
}
}
+static void test_CoInternetCompareUrl(void)
+{
+ HRESULT hres;
+
+ hres = CoInternetCompareUrl(url1, url1, 0);
+ ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres);
+
+ hres = CoInternetCompareUrl(url1, url3, 0);
+ ok(hres == S_FALSE, "CoInternetParseUrl failed: %08x\n", hres);
+
+ hres = CoInternetCompareUrl(url3, url1, 0);
+ ok(hres == S_FALSE, "CoInternetParseUrl failed: %08x\n", hres);
+}
+
static const WCHAR mimeTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
static const WCHAR mimeTextPlain[] = {'t','e','x','t','/','p','l','a','i','n',0};
static const WCHAR mimeAppOctetStream[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
@@ -1081,6 +1095,7 @@ START_TEST(misc)
test_CreateFormatEnum();
test_RegisterFormatEnumerator();
test_CoInternetParseUrl();
+ test_CoInternetCompareUrl();
test_FindMimeFromData();
test_SecurityManager();
test_ZoneManager();
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index 8196f23..8ec8424 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -303,12 +303,6 @@ HRESULT WINAPI ObtainUserAgentString(DWO
return S_OK;
}
-HRESULT WINAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags)
-{
- TRACE("(%s,%s,%08x)\n", debugstr_w(pwzUrl1), debugstr_w(pwzUrl2), dwCompareFlags);
- return UrlCompareW(pwzUrl1, pwzUrl2, dwCompareFlags)==0?S_OK:S_FALSE;
-}
-
/**************************************************************************
* IsValidURL (URLMON.@)
*
More information about the wine-cvs
mailing list