Piotr Caban : wininet: Fixed handling of GET_INSTALLED_ENTRY flag in GetUrlCacheEntryInfoA.
Alexandre Julliard
julliard at winehq.org
Tue Sep 25 15:13:39 CDT 2012
Module: wine
Branch: master
Commit: a342ded2887997e7b4734a4b0c946e10a40835e5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a342ded2887997e7b4734a4b0c946e10a40835e5
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Sep 25 17:30:58 2012 +0200
wininet: Fixed handling of GET_INSTALLED_ENTRY flag in GetUrlCacheEntryInfoA.
---
dlls/wininet/urlcache.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index 25e2ecf..c0d11b6 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -81,6 +81,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(wininet);
#define HASHTABLE_FLAG_BITS 6
#define PENDING_DELETE_CACHE_ENTRY 0x00400000
+#define INSTALLED_CACHE_ENTRY 0x10000000
+#define GET_INSTALLED_ENTRY 0x200
#define CACHE_CONTAINER_NO_SUBDIR 0xFE
#define CACHE_HEADER_DATA_ROOT_LEAK_OFFSET 0x16
@@ -1732,7 +1734,7 @@ BOOL WINAPI GetUrlCacheEntryInfoExA(
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
- if (dwFlags != 0)
+ if (dwFlags & ~GET_INSTALLED_ENTRY)
{
FIXME("Undocumented flag(s): %x\n", dwFlags);
SetLastError(ERROR_FILE_NOT_FOUND);
@@ -1778,6 +1780,13 @@ BOOL WINAPI GetUrlCacheEntryInfoExA(
if (pUrlEntry->dwOffsetHeaderInfo)
TRACE("Header info: %s\n", debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo));
+ if((dwFlags & GET_INSTALLED_ENTRY) && !(pUrlEntry->CacheEntryType & INSTALLED_CACHE_ENTRY))
+ {
+ URLCacheContainer_UnlockIndex(pContainer, pHeader);
+ SetLastError(ERROR_FILE_NOT_FOUND);
+ return FALSE;
+ }
+
if (lpdwCacheEntryInfoBufSize)
{
if (!lpCacheEntryInfo)
More information about the wine-cvs
mailing list