Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d448a2ad
Commit
d448a2ad
authored
Oct 22, 2007
by
Juan Lang
Committed by
Alexandre Julliard
Oct 23, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wininet: Implement RetrieveUrlCacheEntryFileW.
parent
922dc7b6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
56 additions
and
1 deletion
+56
-1
urlcache.c
dlls/wininet/urlcache.c
+56
-1
No files found.
dlls/wininet/urlcache.c
View file @
d448a2ad
...
...
@@ -1692,13 +1692,68 @@ BOOL WINAPI RetrieveUrlCacheEntryFileW(
IN
DWORD
dwReserved
)
{
LPURLCACHE_HEADER
pHeader
;
struct
_HASH_ENTRY
*
pHashEntry
;
CACHEFILE_ENTRY
*
pEntry
;
URL_CACHEFILE_ENTRY
*
pUrlEntry
;
URLCACHECONTAINER
*
pContainer
;
TRACE
(
"(%s, %p, %p, 0x%08x)
\n
"
,
debugstr_w
(
lpszUrlName
),
lpCacheEntryInfo
,
lpdwCacheEntryInfoBufferSize
,
dwReserved
);
return
FALSE
;
if
(
!
URLCacheContainers_FindContainerW
(
lpszUrlName
,
&
pContainer
))
return
FALSE
;
if
(
!
URLCacheContainer_OpenIndex
(
pContainer
))
return
FALSE
;
if
(
!
(
pHeader
=
URLCacheContainer_LockIndex
(
pContainer
)))
return
FALSE
;
if
(
!
URLCache_FindHashW
(
pHeader
,
lpszUrlName
,
&
pHashEntry
))
{
URLCacheContainer_UnlockIndex
(
pContainer
,
pHeader
);
TRACE
(
"entry %s not found!
\n
"
,
debugstr_w
(
lpszUrlName
));
SetLastError
(
ERROR_FILE_NOT_FOUND
);
return
FALSE
;
}
pEntry
=
(
CACHEFILE_ENTRY
*
)((
LPBYTE
)
pHeader
+
pHashEntry
->
dwOffsetEntry
);
if
(
pEntry
->
dwSignature
!=
URL_SIGNATURE
)
{
URLCacheContainer_UnlockIndex
(
pContainer
,
pHeader
);
FIXME
(
"Trying to retrieve entry of unknown format %s
\n
"
,
debugstr_an
((
LPSTR
)
&
pEntry
->
dwSignature
,
sizeof
(
DWORD
)));
SetLastError
(
ERROR_FILE_NOT_FOUND
);
return
FALSE
;
}
pUrlEntry
=
(
URL_CACHEFILE_ENTRY
*
)
pEntry
;
TRACE
(
"Found URL: %s
\n
"
,
(
LPSTR
)
pUrlEntry
+
pUrlEntry
->
dwOffsetUrl
);
TRACE
(
"Header info: %s
\n
"
,
(
LPBYTE
)
pUrlEntry
+
pUrlEntry
->
dwOffsetHeaderInfo
);
pUrlEntry
->
dwHitRate
++
;
pUrlEntry
->
dwUseCount
++
;
URLCache_HashEntrySetUse
(
pHashEntry
,
pUrlEntry
->
dwUseCount
);
if
(
!
URLCache_CopyEntry
(
pContainer
,
pHeader
,
(
LPINTERNET_CACHE_ENTRY_INFOA
)
lpCacheEntryInfo
,
lpdwCacheEntryInfoBufferSize
,
pUrlEntry
,
TRUE
/* UNICODE */
))
{
URLCacheContainer_UnlockIndex
(
pContainer
,
pHeader
);
return
FALSE
;
}
TRACE
(
"Local File Name: %s
\n
"
,
debugstr_w
(
lpCacheEntryInfo
->
lpszLocalFileName
));
URLCacheContainer_UnlockIndex
(
pContainer
,
pHeader
);
return
TRUE
;
}
/***********************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment