Thomas Mullaly : urlmon: set_builder_component now handles setting the modified property flag.
Alexandre Julliard
julliard at winehq.org
Tue Sep 7 11:22:55 CDT 2010
Module: wine
Branch: master
Commit: 23e312e3245faf8123e4f1307f790db93c51e3e7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=23e312e3245faf8123e4f1307f790db93c51e3e7
Author: Thomas Mullaly <thomas.mullaly at gmail.com>
Date: Mon Sep 6 15:47:01 2010 -0400
urlmon: set_builder_component now handles setting the modified property flag.
---
dlls/urlmon/uri.c | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/dlls/urlmon/uri.c b/dlls/urlmon/uri.c
index ef6ba22..c05c0fa 100644
--- a/dlls/urlmon/uri.c
+++ b/dlls/urlmon/uri.c
@@ -3292,9 +3292,11 @@ static HRESULT get_builder_component(LPWSTR *component, DWORD *component_len,
/* Allocates 'component' and copies the string from 'new_value' into 'component'.
* If 'prefix' is set and 'new_value' isn't NULL, then it checks if 'new_value'
* starts with 'prefix'. If it doesn't then 'prefix' is prepended to 'component'.
+ *
+ * If everything is successful, then will set 'success_flag' in 'flags'.
*/
static HRESULT set_builder_component(LPWSTR *component, DWORD *component_len, LPCWSTR new_value,
- WCHAR prefix)
+ WCHAR prefix, DWORD *flags, DWORD success_flag)
{
if(*component)
heap_free(*component);
@@ -3323,6 +3325,7 @@ static HRESULT set_builder_component(LPWSTR *component, DWORD *component_len, LP
*component_len = len+pos;
}
+ *flags |= success_flag;
return S_OK;
}
@@ -4571,36 +4574,32 @@ static HRESULT WINAPI UriBuilder_SetFragment(IUriBuilder *iface, LPCWSTR pwzNewV
{
UriBuilder *This = URIBUILDER_THIS(iface);
TRACE("(%p)->(%s)\n", This, debugstr_w(pwzNewValue));
-
- This->modified_props |= Uri_HAS_FRAGMENT;
- return set_builder_component(&This->fragment, &This->fragment_len, pwzNewValue, '#');
+ return set_builder_component(&This->fragment, &This->fragment_len, pwzNewValue, '#',
+ &This->modified_props, Uri_HAS_FRAGMENT);
}
static HRESULT WINAPI UriBuilder_SetHost(IUriBuilder *iface, LPCWSTR pwzNewValue)
{
UriBuilder *This = URIBUILDER_THIS(iface);
TRACE("(%p)->(%s)\n", This, debugstr_w(pwzNewValue));
-
- This->modified_props |= Uri_HAS_HOST;
- return set_builder_component(&This->host, &This->host_len, pwzNewValue, 0);
+ return set_builder_component(&This->host, &This->host_len, pwzNewValue, 0,
+ &This->modified_props, Uri_HAS_HOST);
}
static HRESULT WINAPI UriBuilder_SetPassword(IUriBuilder *iface, LPCWSTR pwzNewValue)
{
UriBuilder *This = URIBUILDER_THIS(iface);
TRACE("(%p)->(%s)\n", This, debugstr_w(pwzNewValue));
-
- This->modified_props |= Uri_HAS_PASSWORD;
- return set_builder_component(&This->password, &This->password_len, pwzNewValue, 0);
+ return set_builder_component(&This->password, &This->password_len, pwzNewValue, 0,
+ &This->modified_props, Uri_HAS_PASSWORD);
}
static HRESULT WINAPI UriBuilder_SetPath(IUriBuilder *iface, LPCWSTR pwzNewValue)
{
UriBuilder *This = URIBUILDER_THIS(iface);
TRACE("(%p)->(%s)\n", This, debugstr_w(pwzNewValue));
-
- This->modified_props |= Uri_HAS_PATH;
- return set_builder_component(&This->path, &This->path_len, pwzNewValue, 0);
+ return set_builder_component(&This->path, &This->path_len, pwzNewValue, 0,
+ &This->modified_props, Uri_HAS_PATH);
}
static HRESULT WINAPI UriBuilder_SetPort(IUriBuilder *iface, BOOL fHasPort, DWORD dwNewValue)
More information about the wine-cvs
mailing list