Jacek Caban : wininet:
Store WININETFTPSESSIONW pointer in WININETFTPFINDNEXTW.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Oct 30 05:22:28 CST 2006
Module: wine
Branch: master
Commit: 51ba292716707be61a03547e58d0cd20ae4c5488
URL: http://source.winehq.org/git/wine.git/?a=commit;h=51ba292716707be61a03547e58d0cd20ae4c5488
Author: Jacek Caban <jacek at 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;
More information about the wine-cvs
mailing list