Module: wine Branch: master Commit: 51ba292716707be61a03547e58d0cd20ae4c5488 URL: http://source.winehq.org/git/wine.git/?a=commit;h=51ba292716707be61a03547e58...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Oct 29 18:54:29 2006 +0100
wininet: Store WININETFTPSESSIONW pointer in WININETFTPFINDNEXTW.
---
dlls/wininet/ftp.c | 5 +++++ dlls/wininet/internet.c | 6 +----- dlls/wininet/internet.h | 1 + 3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index fd3a0e8..12a6d80 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -2780,6 +2780,8 @@ static void FTP_CloseFindNextHandle(LPWI
TRACE("\n");
+ WININET_Release(&lpwfn->lpFtpSession->hdr); + for (i = 0; i < lpwfn->size; i++) { HeapFree(GetProcessHeap(), 0, lpwfn->lpafp[i].lpszName); @@ -2858,6 +2860,9 @@ static HINTERNET FTP_ReceiveFileList(LPW lpwfn->size = dwSize; lpwfn->lpafp = lpafp;
+ WININET_AddRef( &lpwfs->hdr ); + lpwfn->lpFtpSession = lpwfs; + handle = WININET_AllocHandle( &lpwfn->hdr ); } } diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index 63e3460..ebb581e 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -74,10 +74,6 @@ #define MAX_IDLE_WORKER 1000*60*1 #define MAX_WORKER_THREADS 10 #define RESPONSE_TIMEOUT 30
-#define GET_HWININET_FROM_LPWININETFINDNEXT(lpwh) \ -(((LPWININETFTPSESSIONW)(lpwh->hdr.lpwhparent))->lpAppInfo) - - typedef struct { DWORD dwError; @@ -955,7 +951,7 @@ BOOL WINAPI InternetFindNextFileW(HINTER goto lend; }
- hIC = GET_HWININET_FROM_LPWININETFINDNEXT(lpwh); + hIC = lpwh->lpFtpSession->lpAppInfo; if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC) { WORKREQUEST workRequest; diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h index 54bbef3..e7af552 100644 --- a/dlls/wininet/internet.h +++ b/dlls/wininet/internet.h @@ -238,6 +238,7 @@ typedef struct typedef struct { WININETHANDLEHEADER hdr; + WININETFTPSESSIONW *lpFtpSession; DWORD index; DWORD size; LPFILEPROPERTIESW lpafp;