Alexandre Julliard : wininet: Convert file size in cache entry to a large integer.
Alexandre Julliard
julliard at winehq.org
Wed Mar 9 11:12:46 CST 2011
Module: wine
Branch: master
Commit: d790688afa9487007a255208865caf8aeb6dc52f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d790688afa9487007a255208865caf8aeb6dc52f
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Mar 9 12:23:05 2011 +0100
wininet: Convert file size in cache entry to a large integer.
---
dlls/wininet/urlcache.c | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index 10b518b..f099fa5 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -96,8 +96,7 @@ typedef struct _URL_CACHEFILE_ENTRY
WORD wExpiredDate; /* expire date in dos format */
WORD wExpiredTime; /* expire time in dos format */
DWORD dwUnknown1; /* usually zero */
- DWORD dwSizeLow; /* see INTERNET_CACHE_ENTRY_INFO::dwSizeLow */
- DWORD dwSizeHigh; /* see INTERNET_CACHE_ENTRY_INFO::dwSizeHigh */
+ ULARGE_INTEGER size; /* see INTERNET_CACHE_ENTRY_INFO::dwSizeLow/High */
DWORD dwUnknown2; /* usually zero */
DWORD dwExemptDelta; /* see INTERNET_CACHE_ENTRY_INFO::dwExemptDelta */
DWORD dwUnknown3; /* usually 0x60 */
@@ -959,8 +958,8 @@ static DWORD URLCache_CopyEntry(
lpCacheEntryInfo->u.dwExemptDelta = pUrlEntry->dwExemptDelta;
lpCacheEntryInfo->dwHeaderInfoSize = pUrlEntry->dwHeaderInfoSize;
lpCacheEntryInfo->dwHitRate = pUrlEntry->dwHitRate;
- lpCacheEntryInfo->dwSizeHigh = pUrlEntry->dwSizeHigh;
- lpCacheEntryInfo->dwSizeLow = pUrlEntry->dwSizeLow;
+ lpCacheEntryInfo->dwSizeHigh = pUrlEntry->size.u.HighPart;
+ lpCacheEntryInfo->dwSizeLow = pUrlEntry->size.u.LowPart;
lpCacheEntryInfo->dwStructSize = sizeof(*lpCacheEntryInfo);
lpCacheEntryInfo->dwUseCount = pUrlEntry->dwUseCount;
DosDateTimeToFileTime(pUrlEntry->wExpiredDate, pUrlEntry->wExpiredTime, &lpCacheEntryInfo->ExpireTime);
@@ -2432,8 +2431,7 @@ static BOOL CommitUrlCacheEntryInternal(
DWORD dwOffsetLocalFileName = 0;
DWORD dwOffsetHeader = 0;
DWORD dwOffsetFileExtension = 0;
- DWORD dwFileSizeLow = 0;
- DWORD dwFileSizeHigh = 0;
+ LARGE_INTEGER file_size;
BYTE cDirectory = 0;
char achFile[MAX_PATH];
LPSTR lpszUrlNameA = NULL;
@@ -2452,7 +2450,8 @@ static BOOL CommitUrlCacheEntryInternal(
if (lpszOriginalUrl)
WARN(": lpszOriginalUrl ignored\n");
-
+
+ file_size.QuadPart = 0;
if (lpszLocalFileName)
{
HANDLE hFile;
@@ -2465,8 +2464,7 @@ static BOOL CommitUrlCacheEntryInternal(
}
/* Get file size */
- dwFileSizeLow = GetFileSize(hFile, &dwFileSizeHigh);
- if ((dwFileSizeLow == INVALID_FILE_SIZE) && (GetLastError() != NO_ERROR))
+ if (!GetFileSizeEx(hFile, &file_size))
{
ERR("couldn't get file size (error is %d)\n", GetLastError());
CloseHandle(hFile);
@@ -2595,9 +2593,7 @@ static BOOL CommitUrlCacheEntryInternal(
pUrlEntry->dwOffsetHeaderInfo = dwOffsetHeader;
pUrlEntry->dwOffsetLocalName = dwOffsetLocalFileName;
pUrlEntry->dwOffsetUrl = DWORD_ALIGN(sizeof(*pUrlEntry));
- pUrlEntry->dwSizeHigh = 0;
- pUrlEntry->dwSizeLow = dwFileSizeLow;
- pUrlEntry->dwSizeHigh = dwFileSizeHigh;
+ pUrlEntry->size.QuadPart = file_size.QuadPart;
pUrlEntry->dwUseCount = 0;
GetSystemTimeAsFileTime(&pUrlEntry->LastAccessTime);
pUrlEntry->LastModifiedTime = LastModifiedTime;
More information about the wine-cvs
mailing list