shell32: Fix the length calculation of the pidl in ILSaveToStream by using the helper function ILGetSize.
This commit is contained in:
parent
57f36261fa
commit
1a67b1f53e
|
@ -341,7 +341,6 @@ HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl)
|
|||
*/
|
||||
HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl)
|
||||
{
|
||||
LPCITEMIDLIST pidl;
|
||||
WORD wLen = 0;
|
||||
HRESULT ret = E_FAIL;
|
||||
|
||||
|
@ -349,12 +348,7 @@ HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl)
|
|||
|
||||
IStream_AddRef (pStream);
|
||||
|
||||
pidl = pPidl;
|
||||
while (pidl->mkid.cb)
|
||||
{
|
||||
wLen += sizeof(WORD) + pidl->mkid.cb;
|
||||
pidl = ILGetNext(pidl);
|
||||
}
|
||||
wLen = ILGetSize(pPidl);
|
||||
|
||||
if (SUCCEEDED(IStream_Write(pStream, (LPVOID)&wLen, 2, NULL)))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue