ole32: Fix the algorithm used in CompositeMonikerImpl_Hash to match native.
This commit is contained in:
parent
e97709ff6d
commit
340f7a3ec0
|
@ -622,7 +622,7 @@ CompositeMonikerImpl_Hash(IMoniker* iface,DWORD* pdwHash)
|
||||||
res = IMoniker_Hash(tempMk, &tempHash);
|
res = IMoniker_Hash(tempMk, &tempHash);
|
||||||
if(FAILED(res))
|
if(FAILED(res))
|
||||||
break;
|
break;
|
||||||
*pdwHash = (*pdwHash * 37) + tempHash;
|
*pdwHash = *pdwHash ^ tempHash;
|
||||||
|
|
||||||
IMoniker_Release(tempMk);
|
IMoniker_Release(tempMk);
|
||||||
}
|
}
|
||||||
|
|
|
@ -657,11 +657,9 @@ static void test_generic_composite_moniker(void)
|
||||||
hr = IMoniker_Hash(moniker, &hash);
|
hr = IMoniker_Hash(moniker, &hash);
|
||||||
ok_ole_success(hr, IMoniker_Hash);
|
ok_ole_success(hr, IMoniker_Hash);
|
||||||
|
|
||||||
todo_wine {
|
|
||||||
ok(hash == 0xd87,
|
ok(hash == 0xd87,
|
||||||
"Hash value != 0xd87, instead was 0x%08lx\n",
|
"Hash value != 0xd87, instead was 0x%08lx\n",
|
||||||
hash);
|
hash);
|
||||||
}
|
|
||||||
|
|
||||||
/* IsSystemMoniker test */
|
/* IsSystemMoniker test */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue