Commit d4955416 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

activeds: Implement IADsPathname::GetNumElements().

parent 0051bea4
...@@ -293,8 +293,24 @@ static HRESULT WINAPI path_Retrieve(IADsPathname *iface, LONG type, BSTR *adspat ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment