--- wine-1.3.4/dlls/wininet/internet.h 2010-10-01 14:46:44.000000000 -0400 +++ dll/win32/wininet/internet.h 2010-10-09 15:34:13.000000000 -0400 @@ -462,7 +462,7 @@ LPCVOID NETCON_GetCert(WININET_NETCONNECTION *connection); int NETCON_GetCipherStrength(WININET_NETCONNECTION *connection); DWORD NETCON_set_timeout(WININET_NETCONNECTION *connection, BOOL send, int value); -int sock_get_error(int); +#define sock_get_error(x) WSAGetLastError() extern void URLCacheContainers_CreateDefaults(void); extern void URLCacheContainers_DeleteAll(void); --- wine-1.3.4/dlls/wininet/http.c 2010-10-01 14:46:44.000000000 -0400 +++ dll/win32/wininet/http.c 2010-10-09 15:28:29.000000000 -0400 @@ -69,6 +69,8 @@ #include "wine/exception.h" #include "wine/unicode.h" +#include "inet_ntop.c" + WINE_DEFAULT_DEBUG_CHANNEL(wininet); static const WCHAR g_szHttp1_0[] = {'H','T','T','P','/','1','.','0',0}; --- wine-1.3.4/dlls/wininet/netconnection.c 2010-10-01 14:46:44.000000000 -0400 +++ dll/win32/wininet/netconnection.c 2010-10-09 15:33:53.000000000 -0400 @@ -547,6 +547,7 @@ return TRUE; } +#if 0 /* translate a unix error code into a winsock one */ int sock_get_error( int err ) { @@ -613,6 +614,7 @@ #endif return err; } +#endif /****************************************************************************** * NETCON_create --- wine-1.3.4/dlls/wininet/internet.c 2010-10-01 14:46:44.000000000 -0400 +++ dll/win32/wininet/internet.c 2010-10-09 15:33:04.000000000 -0400 @@ -3569,19 +3569,22 @@ LPSTR INTERNET_GetNextLine(INT nSocket, LPDWORD dwLen) { - struct pollfd pfd; + fd_set infd; + struct timeval tv; BOOL bSuccess = FALSE; INT nRecv = 0; LPSTR lpszBuffer = INTERNET_GetResponseBuffer(); TRACE("\n"); - pfd.fd = nSocket; - pfd.events = POLLIN; + FD_ZERO(&infd); + FD_SET(nSocket,&infd); + tv.tv_sec = RESPONSE_TIMEOUT; + tv.tv_usec = 0; while (nRecv < MAX_REPLY_LEN) { - if (poll(&pfd,1, RESPONSE_TIMEOUT * 1000) > 0) + if (select(0, &infd, NULL, NULL, &tv) > 0) { if (recv(nSocket, &lpszBuffer[nRecv], 1, 0) <= 0) { Index: dll/win32/wininet/urlcache.c =================================================================== --- dll/win32/wininet/urlcache.c (revision 50814) +++ dll/win32/wininet/urlcache.c (working copy) @@ -527,6 +527,7 @@ static const WCHAR HistoryPrefix[] = {'V','i','s','i','t','e','d',':',0}; static const WCHAR CookieSuffix[] = {0}; static const WCHAR CookiePrefix[] = {'C','o','o','k','i','e',':',0}; + static const WCHAR UserProfile[] = {'U','S','E','R','P','R','O','F','I','L','E',0}; static const struct { int nFolder; /* CSIDL_* constant */ @@ -540,6 +541,12 @@ }; DWORD i; + if (GetEnvironmentVariableW(UserProfile, NULL, 0) == 0 && GetLastError() == ERROR_ENVVAR_NOT_FOUND) + { + TRACE("Environment variable 'USERPROFILE' does not exist!\n"); + return; + } + for (i = 0; i < sizeof(DefaultContainerData) / sizeof(DefaultContainerData[0]); i++) { WCHAR wszCachePath[MAX_PATH];