Dmitry Timoshkov : activeds: Implement remaining cases for IADsPathname::Set().
Module: wine Branch: master Commit: 606ececd8e2ed52c1fe418363f2482c4a32f62fc URL: https://source.winehq.org/git/wine.git/?a=commit;h=606ececd8e2ed52c1fe418363... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Fri Apr 10 15:34:20 2020 +0800 activeds: Implement remaining cases for IADsPathname::Set(). Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/activeds/pathname.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/dlls/activeds/pathname.c b/dlls/activeds/pathname.c index 4733c5315f..cffaf3d8e6 100644 --- a/dlls/activeds/pathname.c +++ b/dlls/activeds/pathname.c @@ -184,8 +184,32 @@ static HRESULT WINAPI path_Set(IADsPathname *iface, BSTR adspath, LONG type) if (!adspath) return E_INVALIDARG; + if (type == ADS_SETTYPE_PROVIDER) + { + SysFreeString(path->provider); + path->provider = SysAllocString(adspath); + return path->provider ? S_OK : E_OUTOFMEMORY; + } + + if (type == ADS_SETTYPE_SERVER) + { + SysFreeString(path->server); + path->server = SysAllocString(adspath); + return path->server ? S_OK : E_OUTOFMEMORY; + } + + if (type == ADS_SETTYPE_DN) + { + SysFreeString(path->dn); + path->dn = SysAllocString(adspath); + return path->dn ? S_OK : E_OUTOFMEMORY; + } + if (type != ADS_SETTYPE_FULL) + { FIXME("type %d not implemented\n", type); + return E_INVALIDARG; + } hr = parse_path(adspath, &provider, &server, &dn); if (hr == S_OK)
participants (1)
-
Alexandre Julliard