forked from Mirrors/wine-wine
activeds: Implement IADsPathname::GetNumElements().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Alexandre Julliard <julliard@winehq.org>feature/deterministic
parent
0051bea4ec
commit
d495541646
|
@ -293,8 +293,24 @@ static HRESULT WINAPI path_Retrieve(IADsPathname *iface, LONG type, BSTR *adspat
|
||||||
|
|
||||||
static HRESULT WINAPI path_GetNumElements(IADsPathname *iface, LONG *count)
|
static HRESULT WINAPI path_GetNumElements(IADsPathname *iface, LONG *count)
|
||||||
{
|
{
|
||||||
FIXME("%p,%p: stub\n", iface, count);
|
Pathname *path = impl_from_IADsPathname(iface);
|
||||||
return E_NOTIMPL;
|
WCHAR *p;
|
||||||
|
|
||||||
|
TRACE("%p,%p\n", iface, count);
|
||||||
|
|
||||||
|
if (!count) return E_INVALIDARG;
|
||||||
|
|
||||||
|
*count = 0;
|
||||||
|
|
||||||
|
p = path->dn;
|
||||||
|
while (p)
|
||||||
|
{
|
||||||
|
*count += 1;
|
||||||
|
p = wcschr(p, ',');
|
||||||
|
if (p) p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI path_GetElement(IADsPathname *iface, LONG index, BSTR *element)
|
static HRESULT WINAPI path_GetElement(IADsPathname *iface, LONG index, BSTR *element)
|
||||||
|
|
|
@ -97,9 +97,7 @@ static void test_Pathname(void)
|
||||||
|
|
||||||
count = 0xdeadbeef;
|
count = 0xdeadbeef;
|
||||||
hr = IADsPathname_GetNumElements(path, &count);
|
hr = IADsPathname_GetNumElements(path, &count);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "got %#x\n", hr);
|
ok(hr == S_OK, "got %#x\n", hr);
|
||||||
todo_wine
|
|
||||||
ok(count == 0, "got %d\n", count);
|
ok(count == 0, "got %d\n", count);
|
||||||
|
|
||||||
bstr = NULL;
|
bstr = NULL;
|
||||||
|
@ -115,9 +113,7 @@ todo_wine
|
||||||
|
|
||||||
count = 0xdeadbeef;
|
count = 0xdeadbeef;
|
||||||
hr = IADsPathname_GetNumElements(path, &count);
|
hr = IADsPathname_GetNumElements(path, &count);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "got %#x\n", hr);
|
ok(hr == S_OK, "got %#x\n", hr);
|
||||||
todo_wine
|
|
||||||
ok(count == 0, "got %d\n", count);
|
ok(count == 0, "got %d\n", count);
|
||||||
|
|
||||||
hr = IADsPathname_GetElement(path, 0, &bstr);
|
hr = IADsPathname_GetElement(path, 0, &bstr);
|
||||||
|
@ -131,10 +127,9 @@ todo_wine
|
||||||
|
|
||||||
count = 0xdeadbeef;
|
count = 0xdeadbeef;
|
||||||
hr = IADsPathname_GetNumElements(path, &count);
|
hr = IADsPathname_GetNumElements(path, &count);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "got %#x\n", hr);
|
ok(hr == S_OK, "got %#x\n", hr);
|
||||||
todo_wine
|
|
||||||
ok(count == 3, "got %d\n", count);
|
ok(count == 3, "got %d\n", count);
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
hr = IADsPathname_GetElement(path, i, &bstr);
|
hr = IADsPathname_GetElement(path, i, &bstr);
|
||||||
|
|
Loading…
Reference in New Issue