Module: wine Branch: master Commit: bb52f14d59f7a6abf8a099bf7998798821640b98 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb52f14d59f7a6abf8a099bf79...
Author: Jacek Caban jacek@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.@) *