From c4d628cb023b856629cda61f6bbb353bd6200ea8 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Mon, 7 Mar 2011 11:22:43 -0800 Subject: [PATCH] wininet: Implement FindNextUrlCacheEntryW. --- dlls/wininet/urlcache.c | 43 +++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c index 100a10340ae..431288fec5b 100644 --- a/dlls/wininet/urlcache.c +++ b/dlls/wininet/urlcache.c @@ -3304,19 +3304,15 @@ INTERNETAPI HANDLE WINAPI FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern, return pEntryHandle; } -/*********************************************************************** - * FindNextUrlCacheEntryA (WININET.@) - */ -BOOL WINAPI FindNextUrlCacheEntryA( +static BOOL FindNextUrlCacheEntryInternal( HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo, - LPDWORD lpdwNextCacheEntryInfoBufferSize) + LPDWORD lpdwNextCacheEntryInfoBufferSize, + BOOL unicode) { URLCacheFindEntryHandle *pEntryHandle = (URLCacheFindEntryHandle *)hEnumHandle; URLCACHECONTAINER * pContainer; - TRACE("(%p, %p, %p)\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); - if (pEntryHandle->dwMagic != URLCACHE_FIND_ENTRY_HANDLE_MAGIC) { SetLastError(ERROR_INVALID_HANDLE); @@ -3354,8 +3350,10 @@ BOOL WINAPI FindNextUrlCacheEntryA( continue; pUrlEntry = (const URL_CACHEFILE_ENTRY *)pEntry; - TRACE("Found URL: %s\n", (LPCSTR)pUrlEntry + pUrlEntry->dwOffsetUrl); - TRACE("Header info: %s\n", (LPCSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo); + TRACE("Found URL: %s\n", + debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetUrl)); + TRACE("Header info: %s\n", + debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo)); error = URLCache_CopyEntry( pContainer, @@ -3363,14 +3361,15 @@ BOOL WINAPI FindNextUrlCacheEntryA( lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize, pUrlEntry, - FALSE /* not UNICODE */); + unicode); if (error != ERROR_SUCCESS) { URLCacheContainer_UnlockIndex(pContainer, pHeader); SetLastError(error); return FALSE; } - TRACE("Local File Name: %s\n", debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetLocalName)); + TRACE("Local File Name: %s\n", + debugstr_a((LPCSTR)pUrlEntry + pUrlEntry->dwOffsetLocalName)); /* increment the current index so that next time the function * is called the next entry is returned */ @@ -3387,6 +3386,20 @@ BOOL WINAPI FindNextUrlCacheEntryA( return FALSE; } +/*********************************************************************** + * FindNextUrlCacheEntryA (WININET.@) + */ +BOOL WINAPI FindNextUrlCacheEntryA( + HANDLE hEnumHandle, + LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo, + LPDWORD lpdwNextCacheEntryInfoBufferSize) +{ + TRACE("(%p, %p, %p)\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); + + return FindNextUrlCacheEntryInternal(hEnumHandle, lpNextCacheEntryInfo, + lpdwNextCacheEntryInfoBufferSize, FALSE /* not UNICODE */); +} + /*********************************************************************** * FindNextUrlCacheEntryW (WININET.@) */ @@ -3396,9 +3409,11 @@ BOOL WINAPI FindNextUrlCacheEntryW( LPDWORD lpdwNextCacheEntryInfoBufferSize ) { - FIXME("(%p, %p, %p) stub\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + TRACE("(%p, %p, %p)\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); + + return FindNextUrlCacheEntryInternal(hEnumHandle, + (LPINTERNET_CACHE_ENTRY_INFOA)lpNextCacheEntryInfo, + lpdwNextCacheEntryInfoBufferSize, TRUE /* UNICODE */); } /***********************************************************************