Piotr Caban : wininet: Fixed handling of GET_INSTALLED_ENTRY flag in GetUrlCacheEntryInfoW.
Alexandre Julliard
julliard at winehq.org
Tue Sep 25 15:13:39 CDT 2012
Module: wine
Branch: master
Commit: 7c6f0c947041f9dbc230f2c0c5dcc66e2b89cb0a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c6f0c947041f9dbc230f2c0c5dcc66e2b89cb0a
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Sep 25 17:31:19 2012 +0200
wininet: Fixed handling of GET_INSTALLED_ENTRY flag in GetUrlCacheEntryInfoW.
---
dlls/wininet/urlcache.c | 99 ++++++++++++++++++++++++-----------------------
1 files changed, 51 insertions(+), 48 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index c0d11b6..befb9b7 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -1835,6 +1835,23 @@ BOOL WINAPI GetUrlCacheEntryInfoW(LPCWSTR lpszUrl,
LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
LPDWORD lpdwCacheEntryInfoBufferSize)
{
+ return GetUrlCacheEntryInfoExW(lpszUrl, lpCacheEntryInfo,
+ lpdwCacheEntryInfoBufferSize, NULL, NULL, NULL, 0);
+}
+
+/***********************************************************************
+ * GetUrlCacheEntryInfoExW (WININET.@)
+ *
+ */
+BOOL WINAPI GetUrlCacheEntryInfoExW(
+ LPCWSTR lpszUrl,
+ LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
+ LPDWORD lpdwCacheEntryInfoBufSize,
+ LPWSTR lpszReserved,
+ LPDWORD lpdwReserved,
+ LPVOID lpReserved,
+ DWORD dwFlags)
+{
LPURLCACHE_HEADER pHeader;
struct _HASH_ENTRY * pHashEntry;
const CACHEFILE_ENTRY * pEntry;
@@ -1842,7 +1859,32 @@ BOOL WINAPI GetUrlCacheEntryInfoW(LPCWSTR lpszUrl,
URLCACHECONTAINER * pContainer;
DWORD error;
- TRACE("(%s, %p, %p)\n", debugstr_w(lpszUrl), lpCacheEntryInfo, lpdwCacheEntryInfoBufferSize);
+ TRACE("(%s, %p, %p, %p, %p, %p, %x)\n",
+ debugstr_w(lpszUrl),
+ lpCacheEntryInfo,
+ lpdwCacheEntryInfoBufSize,
+ lpszReserved,
+ lpdwReserved,
+ lpReserved,
+ dwFlags);
+
+ /* Ignore GET_INSTALLED_ENTRY flag in unicode version of function */
+ dwFlags &= ~GET_INSTALLED_ENTRY;
+
+ if ((lpszReserved != NULL) ||
+ (lpdwReserved != NULL) ||
+ (lpReserved != NULL))
+ {
+ ERR("Reserved value was not 0\n");
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+ if (dwFlags != 0)
+ {
+ FIXME("Undocumented flag(s): %x\n", dwFlags);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+ }
error = URLCacheContainers_FindContainerW(lpszUrl, &pContainer);
if (error != ERROR_SUCCESS)
@@ -1882,18 +1924,18 @@ BOOL WINAPI GetUrlCacheEntryInfoW(LPCWSTR lpszUrl,
TRACE("Found URL: %s\n", debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetUrl));
TRACE("Header info: %s\n", debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo));
- if (lpdwCacheEntryInfoBufferSize)
+ if (lpdwCacheEntryInfoBufSize)
{
if (!lpCacheEntryInfo)
- *lpdwCacheEntryInfoBufferSize = 0;
+ *lpdwCacheEntryInfoBufSize = 0;
error = URLCache_CopyEntry(
- pContainer,
- pHeader,
- (LPINTERNET_CACHE_ENTRY_INFOA)lpCacheEntryInfo,
- lpdwCacheEntryInfoBufferSize,
- pUrlEntry,
- TRUE /* UNICODE */);
+ pContainer,
+ pHeader,
+ (LPINTERNET_CACHE_ENTRY_INFOA)lpCacheEntryInfo,
+ lpdwCacheEntryInfoBufSize,
+ pUrlEntry,
+ TRUE /* UNICODE */);
if (error != ERROR_SUCCESS)
{
URLCacheContainer_UnlockIndex(pContainer, pHeader);
@@ -1909,45 +1951,6 @@ BOOL WINAPI GetUrlCacheEntryInfoW(LPCWSTR lpszUrl,
}
/***********************************************************************
- * GetUrlCacheEntryInfoExW (WININET.@)
- *
- */
-BOOL WINAPI GetUrlCacheEntryInfoExW(
- LPCWSTR lpszUrl,
- LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
- LPDWORD lpdwCacheEntryInfoBufSize,
- LPWSTR lpszReserved,
- LPDWORD lpdwReserved,
- LPVOID lpReserved,
- DWORD dwFlags)
-{
- TRACE("(%s, %p, %p, %p, %p, %p, %x)\n",
- debugstr_w(lpszUrl),
- lpCacheEntryInfo,
- lpdwCacheEntryInfoBufSize,
- lpszReserved,
- lpdwReserved,
- lpReserved,
- dwFlags);
-
- if ((lpszReserved != NULL) ||
- (lpdwReserved != NULL) ||
- (lpReserved != NULL))
- {
- ERR("Reserved value was not 0\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return FALSE;
- }
- if (dwFlags != 0)
- {
- FIXME("Undocumented flag(s): %x\n", dwFlags);
- SetLastError(ERROR_FILE_NOT_FOUND);
- return FALSE;
- }
- return GetUrlCacheEntryInfoW(lpszUrl, lpCacheEntryInfo, lpdwCacheEntryInfoBufSize);
-}
-
-/***********************************************************************
* SetUrlCacheEntryInfoA (WININET.@)
*/
BOOL WINAPI SetUrlCacheEntryInfoA(
More information about the wine-cvs
mailing list