Jacek Caban : urlmon: Reimplement CoInternetCombineUrl to use
pluggable protocol.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jan 11 14:34:29 CST 2006
Module: wine
Branch: refs/heads/master
Commit: ab6adcb07798dacf62ce709ee716d9e8d02ff421
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ab6adcb07798dacf62ce709ee716d9e8d02ff421
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Jan 11 20:57:23 2006 +0100
urlmon: Reimplement CoInternetCombineUrl to use pluggable protocol.
---
dlls/urlmon/internet.c | 37 ++++++++++++++++++++++++++++++++++++-
dlls/urlmon/urlmon_main.c | 13 -------------
2 files changed, 36 insertions(+), 14 deletions(-)
diff --git a/dlls/urlmon/internet.c b/dlls/urlmon/internet.c
index 7f5253b..94b7330 100644
--- a/dlls/urlmon/internet.c
+++ b/dlls/urlmon/internet.c
@@ -166,7 +166,9 @@ static HRESULT parse_security_domain(LPC
return E_FAIL;
}
-
+/**************************************************************************
+ * CoInternetParseUrl (URLMON.@)
+ */
HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags,
LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
{
@@ -190,3 +192,36 @@ HRESULT WINAPI CoInternetParseUrl(LPCWST
return E_NOTIMPL;
}
+
+/**************************************************************************
+ * CoInternetCombineUrl (URLMON.@)
+ */
+HRESULT WINAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl,
+ DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult,
+ DWORD dwReserved)
+{
+ IInternetProtocolInfo *protocol_info;
+ DWORD size = cchResult;
+ HRESULT hres;
+
+ TRACE("(%s,%s,0x%08lx,%p,%ld,%p,%ld)\n", debugstr_w(pwzBaseUrl),
+ debugstr_w(pwzRelativeUrl), dwCombineFlags, pwzResult, cchResult, pcchResult,
+ dwReserved);
+
+ protocol_info = get_protocol_info(pwzBaseUrl);
+
+ if(protocol_info) {
+ hres = IInternetProtocolInfo_CombineUrl(protocol_info, pwzBaseUrl, pwzRelativeUrl,
+ dwCombineFlags, pwzResult, cchResult, pcchResult, dwReserved);
+ if(SUCCEEDED(hres))
+ return hres;
+ }
+
+
+ hres = UrlCombineW(pwzBaseUrl, pwzRelativeUrl, pwzResult, &size, dwCombineFlags);
+
+ if(pcchResult)
+ *pcchResult = size;
+
+ return hres;
+}
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index fa2e195..c94eb70 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -293,19 +293,6 @@ HRESULT WINAPI ObtainUserAgentString(DWO
return S_OK;
}
-HRESULT WINAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags,
- LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
-{
- HRESULT hres;
- DWORD size = cchResult;
-
- TRACE("(%s,%s,0x%08lx,%p,%ld,%p,%ld)\n", debugstr_w(pwzBaseUrl), debugstr_w(pwzRelativeUrl), dwCombineFlags,
- pwzResult, cchResult, pcchResult, dwReserved);
- hres = UrlCombineW(pwzBaseUrl, pwzRelativeUrl, pwzResult, &size, dwCombineFlags);
- if(pcchResult) *pcchResult = size;
- return hres;
-}
-
HRESULT WINAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags)
{
TRACE("(%s,%s,%08lx)\n", debugstr_w(pwzUrl1), debugstr_w(pwzUrl2), dwCompareFlags);
More information about the wine-cvs
mailing list