Module: wine Branch: master Commit: dab1f7c38eaecaf3de38adb75848ecbc93bde11e URL: http://source.winehq.org/git/wine.git/?a=commit;h=dab1f7c38eaecaf3de38adb758...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Apr 5 21:35:46 2012 +0200
wininet: Return error code in URLCache_FindFirstFreeEntry function.
---
dlls/wininet/urlcache.c | 27 ++++++++++----------------- 1 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c index bba81de..5fac89a 100644 --- a/dlls/wininet/urlcache.c +++ b/dlls/wininet/urlcache.c @@ -786,11 +786,11 @@ static inline void URLCache_Allocation_BlockAllocate(BYTE * AllocationTable, DWO * sets ppEntry to point to it. * * RETURNS - * TRUE if it had enough space - * FALSE if it couldn't find enough space + * ERROR_SUCCESS when free memory block was found + * Any other Win32 error code if the entry could not be added * */ -static BOOL URLCache_FindFirstFreeEntry(URLCACHE_HEADER * pHeader, DWORD dwBlocksNeeded, CACHEFILE_ENTRY ** ppEntry) +static DWORD URLCache_FindFirstFreeEntry(URLCACHE_HEADER * pHeader, DWORD dwBlocksNeeded, CACHEFILE_ENTRY ** ppEntry) { LPBYTE AllocationTable = (LPBYTE)pHeader + ALLOCATION_TABLE_OFFSET; DWORD dwBlockNumber; @@ -814,11 +814,11 @@ static BOOL URLCache_FindFirstFreeEntry(URLCACHE_HEADER * pHeader, DWORD dwBlock for (index = 0; index < dwBlocksNeeded * BLOCKSIZE / sizeof(DWORD); index++) ((DWORD*)*ppEntry)[index] = 0xdeadbeef; (*ppEntry)->dwBlocksUsed = dwBlocksNeeded; - return TRUE; + return ERROR_SUCCESS; } } - FIXME("Grow file\n"); - return FALSE; + + return ERROR_HANDLE_DISK_FULL; }
/*********************************************************************** @@ -1381,14 +1381,11 @@ static DWORD URLCache_AddEntryToHash(LPURLCACHE_HEADER pHeader, LPCSTR lpszUrl, */ static DWORD URLCache_CreateHashTable(LPURLCACHE_HEADER pHeader, HASH_CACHEFILE_ENTRY *pPrevHash, HASH_CACHEFILE_ENTRY **ppHash) { - DWORD dwOffset; + DWORD dwOffset, error; int i;
- if (!URLCache_FindFirstFreeEntry(pHeader, 0x20, (CACHEFILE_ENTRY **)ppHash)) - { - FIXME("no free space for hash table\n"); - return ERROR_DISK_FULL; - } + if ((error = URLCache_FindFirstFreeEntry(pHeader, 0x20, (CACHEFILE_ENTRY **)ppHash)) != ERROR_SUCCESS) + return error;
dwOffset = (BYTE *)*ppHash - (BYTE *)pHeader;
@@ -2755,12 +2752,8 @@ static BOOL CommitUrlCacheEntryInternal( dwBytesNeeded += BLOCKSIZE; }
- if (!URLCache_FindFirstFreeEntry(pHeader, dwBytesNeeded / BLOCKSIZE, &pEntry)) - { - ERR("no free entries\n"); - error = ERROR_DISK_FULL; + if ((error = URLCache_FindFirstFreeEntry(pHeader, dwBytesNeeded / BLOCKSIZE, &pEntry)) != ERROR_SUCCESS) goto cleanup; - }
/* FindFirstFreeEntry fills in blocks used */ pUrlEntry = (URL_CACHEFILE_ENTRY *)pEntry;