mirror of
https://github.com/reactos/wine.git
synced 2025-02-22 05:40:50 +00:00
wininet: Added correct InternetQueryOption(INTERNET_OPTION_DATAFILE_NAME) implementation.
This commit is contained in:
parent
d7a49e8147
commit
6ce88e0aab
@ -2049,8 +2049,9 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
|
||||
}
|
||||
|
||||
case INTERNET_OPTION_URL:
|
||||
case INTERNET_OPTION_DATAFILE_NAME:
|
||||
{
|
||||
TRACE("INTERNET_OPTION_URL\n");
|
||||
|
||||
if (!lpwhh)
|
||||
{
|
||||
WARN("Invalid hInternet handle\n");
|
||||
@ -2094,6 +2095,52 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case INTERNET_OPTION_DATAFILE_NAME:
|
||||
{
|
||||
TRACE("INTERNET_OPTION_DATAFILE_NAME\n");
|
||||
if (!lpwhh)
|
||||
{
|
||||
WARN("Invalid hInternet handle\n");
|
||||
INTERNET_SetLastError(ERROR_INVALID_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
if (lpwhh->htype == WH_HHTTPREQ)
|
||||
{
|
||||
LPWININETHTTPREQW lpreq = (LPWININETHTTPREQW) lpwhh;
|
||||
DWORD size;
|
||||
|
||||
if(!lpreq->lpszCacheFile) {
|
||||
*lpdwBufferLength = 0;
|
||||
INTERNET_SetLastError(ERROR_INTERNET_ITEM_NOT_FOUND);
|
||||
}
|
||||
else if(bIsUnicode)
|
||||
{
|
||||
size = (lstrlenW(lpreq->lpszCacheFile)+1) * sizeof(WCHAR);
|
||||
if (*lpdwBufferLength < size)
|
||||
INTERNET_SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
else
|
||||
{
|
||||
memcpy(lpBuffer, lpreq->lpszCacheFile, size);
|
||||
bSuccess = TRUE;
|
||||
}
|
||||
*lpdwBufferLength = size;
|
||||
}
|
||||
else
|
||||
{
|
||||
size = WideCharToMultiByte(CP_ACP, 0, lpreq->lpszCacheFile, -1, NULL, 0, NULL, NULL);
|
||||
if (size > *lpdwBufferLength) {
|
||||
INTERNET_SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
}else {
|
||||
*lpdwBufferLength = WideCharToMultiByte(CP_ACP, 0, lpreq->lpszCacheFile,
|
||||
-1, lpBuffer, *lpdwBufferLength, NULL, NULL);
|
||||
bSuccess = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case INTERNET_OPTION_HTTP_VERSION:
|
||||
{
|
||||
if (*lpdwBufferLength < sizeof(HTTP_VERSION_INFO))
|
||||
|
Loading…
x
Reference in New Issue
Block a user