wininet: Pass hash entry directly to URLCache_HashEntrySetUse rather than searching for it again.

This commit is contained in:
Juan Lang 2007-10-22 10:15:44 -07:00 committed by Alexandre Julliard
parent 601b6835ed
commit 9949926441
1 changed files with 5 additions and 10 deletions

View File

@ -1193,15 +1193,10 @@ static BOOL URLCache_FindHashW(LPCURLCACHE_HEADER pHeader, LPCWSTR lpszUrl, stru
* FALSE if the entry could not be found
*
*/
static BOOL URLCache_HashEntrySetUse(LPCURLCACHE_HEADER pHeader, LPCSTR lpszUrl, DWORD dwUseCount)
static BOOL URLCache_HashEntrySetUse(struct _HASH_ENTRY * pHashEntry, DWORD dwUseCount)
{
struct _HASH_ENTRY * pHashEntry;
if (URLCache_FindHash(pHeader, lpszUrl, &pHashEntry))
{
pHashEntry->dwHashKey = dwUseCount | (DWORD)(pHashEntry->dwHashKey / HASHTABLE_NUM_ENTRIES) * HASHTABLE_NUM_ENTRIES;
return TRUE;
}
return FALSE;
pHashEntry->dwHashKey = dwUseCount | (DWORD)(pHashEntry->dwHashKey / HASHTABLE_NUM_ENTRIES) * HASHTABLE_NUM_ENTRIES;
return TRUE;
}
/***********************************************************************
@ -1672,7 +1667,7 @@ BOOL WINAPI RetrieveUrlCacheEntryFileA(
pUrlEntry->dwHitRate++;
pUrlEntry->dwUseCount++;
URLCache_HashEntrySetUse(pHeader, lpszUrlName, pUrlEntry->dwUseCount);
URLCache_HashEntrySetUse(pHashEntry, pUrlEntry->dwUseCount);
if (!URLCache_CopyEntry(pContainer, pHeader, lpCacheEntryInfo, lpdwCacheEntryInfoBufferSize, pUrlEntry, FALSE))
{
@ -1764,7 +1759,7 @@ BOOL WINAPI UnlockUrlCacheEntryFileA(
return FALSE;
}
pUrlEntry->dwUseCount--;
URLCache_HashEntrySetUse(pHeader, lpszUrlName, pUrlEntry->dwUseCount);
URLCache_HashEntrySetUse(pHashEntry, pUrlEntry->dwUseCount);
URLCacheContainer_UnlockIndex(pContainer, pHeader);