On 11.09.2017 6:39, Alex Henrie wrote:
2017-09-08 2:30 GMT-06:00 Nikolay Sivov <bunglehead(a)gmail.com>:
On 08.09.2017 8:29, Alex Henrie wrote:
static HRESULT WINAPI FolderItemsImpl_get_Count(FolderItems3 *iface, LONG *count) { - FIXME("(%p,%p)\n", iface, count); + FolderItemsImpl *This = impl_from_FolderItems(iface);
- return E_NOTIMPL; + TRACE("(%p,%p)\n", iface, count); + + *count = PathIsDirectoryW(V_BSTR(&This->dir)) ? This->item_count : 0; + return S_OK; }
This looks too complicated. Why can't we always return item_count without additional checks?
FolderItems_get_Count returns 0 if the directory was deleted. There is a test for this.
I see, but if directory is recreated, we'll be returning count that's no longer relevant. It will still match snapshot size I suppose, does it work like that? Currently test is removing directory, testing if count turns to 0 and if Item() method stops working for integer indexing. I'm only suggesting this as a future improvement, because it's not obvious how any of that works, until you try.
-Alex