Jacek Caban : wininet: Move FtpOpenFile[AW] implementation to avoid forward declaration.
Alexandre Julliard
julliard at winehq.org
Wed Feb 11 09:23:52 CST 2009
Module: wine
Branch: master
Commit: a83a817ad08845183dbe13889726fcfed7c996ec
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a83a817ad08845183dbe13889726fcfed7c996ec
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Feb 10 16:28:56 2009 +0100
wininet: Move FtpOpenFile[AW] implementation to avoid forward declaration.
---
dlls/wininet/ftp.c | 227 ++++++++++++++++++++++++++--------------------------
1 files changed, 113 insertions(+), 114 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 0289300..83e2b60 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -203,8 +203,6 @@ static BOOL FTP_FtpGetCurrentDirectoryW(LPWININETFTPSESSIONW lpwfs, LPWSTR lpszC
static BOOL FTP_FtpRenameFileW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszSrc, LPCWSTR lpszDest);
static BOOL FTP_FtpRemoveDirectoryW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszDirectory);
static BOOL FTP_FtpDeleteFileW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszFileName);
-static HINTERNET FTP_FtpOpenFileW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszFileName,
- DWORD fdwAccess, DWORD dwFlags, DWORD_PTR dwContext);
static BOOL FTP_FtpGetFileW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszRemoteFile, LPCWSTR lpszNewFile,
BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags,
DWORD_PTR dwContext);
@@ -1075,118 +1073,6 @@ lend:
return bSuccess;
}
-/***********************************************************************
- * FtpOpenFileA (WININET.@)
- *
- * Open a remote file for writing or reading
- *
- * RETURNS
- * HINTERNET handle on success
- * NULL on failure
- *
- */
-HINTERNET WINAPI FtpOpenFileA(HINTERNET hFtpSession,
- LPCSTR lpszFileName, DWORD fdwAccess, DWORD dwFlags,
- DWORD_PTR dwContext)
-{
- LPWSTR lpwzFileName;
- HINTERNET ret;
-
- lpwzFileName = lpszFileName?WININET_strdup_AtoW(lpszFileName):NULL;
- ret = FtpOpenFileW(hFtpSession, lpwzFileName, fdwAccess, dwFlags, dwContext);
- HeapFree(GetProcessHeap(), 0, lpwzFileName);
- return ret;
-}
-
-
-static void AsyncFtpOpenFileProc(WORKREQUEST *workRequest)
-{
- struct WORKREQ_FTPOPENFILEW const *req = &workRequest->u.FtpOpenFileW;
- LPWININETFTPSESSIONW lpwfs = (LPWININETFTPSESSIONW) workRequest->hdr;
-
- TRACE("%p\n", lpwfs);
-
- FTP_FtpOpenFileW(lpwfs, req->lpszFilename,
- req->dwAccess, req->dwFlags, req->dwContext);
- HeapFree(GetProcessHeap(), 0, req->lpszFilename);
-}
-
-/***********************************************************************
- * FtpOpenFileW (WININET.@)
- *
- * Open a remote file for writing or reading
- *
- * RETURNS
- * HINTERNET handle on success
- * NULL on failure
- *
- */
-HINTERNET WINAPI FtpOpenFileW(HINTERNET hFtpSession,
- LPCWSTR lpszFileName, DWORD fdwAccess, DWORD dwFlags,
- DWORD_PTR dwContext)
-{
- LPWININETFTPSESSIONW lpwfs;
- LPWININETAPPINFOW hIC = NULL;
- HINTERNET r = NULL;
-
- TRACE("(%p,%s,0x%08x,0x%08x,0x%08lx)\n", hFtpSession,
- debugstr_w(lpszFileName), fdwAccess, dwFlags, dwContext);
-
- lpwfs = (LPWININETFTPSESSIONW) WININET_GetObject( hFtpSession );
- if (!lpwfs)
- {
- INTERNET_SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
-
- if (WH_HFTPSESSION != lpwfs->hdr.htype)
- {
- INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
- goto lend;
- }
-
- if ((!lpszFileName) ||
- ((fdwAccess != GENERIC_READ) && (fdwAccess != GENERIC_WRITE)) ||
- ((dwFlags & FTP_CONDITION_MASK) > FTP_TRANSFER_TYPE_BINARY))
- {
- INTERNET_SetLastError(ERROR_INVALID_PARAMETER);
- goto lend;
- }
-
- if (lpwfs->download_in_progress != NULL)
- {
- INTERNET_SetLastError(ERROR_FTP_TRANSFER_IN_PROGRESS);
- goto lend;
- }
-
- hIC = lpwfs->lpAppInfo;
- if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
- {
- WORKREQUEST workRequest;
- struct WORKREQ_FTPOPENFILEW *req;
-
- workRequest.asyncproc = AsyncFtpOpenFileProc;
- workRequest.hdr = WININET_AddRef( &lpwfs->hdr );
- req = &workRequest.u.FtpOpenFileW;
- req->lpszFilename = WININET_strdupW(lpszFileName);
- req->dwAccess = fdwAccess;
- req->dwFlags = dwFlags;
- req->dwContext = dwContext;
-
- INTERNET_AsyncCall(&workRequest);
- r = NULL;
- }
- else
- {
- r = FTP_FtpOpenFileW(lpwfs, lpszFileName, fdwAccess, dwFlags, dwContext);
- }
-
-lend:
- WININET_Release( &lpwfs->hdr );
-
- return r;
-}
-
/***********************************************************************
* FTPFILE_Destroy(internal)
@@ -1365,6 +1251,119 @@ lend:
/***********************************************************************
+ * FtpOpenFileA (WININET.@)
+ *
+ * Open a remote file for writing or reading
+ *
+ * RETURNS
+ * HINTERNET handle on success
+ * NULL on failure
+ *
+ */
+HINTERNET WINAPI FtpOpenFileA(HINTERNET hFtpSession,
+ LPCSTR lpszFileName, DWORD fdwAccess, DWORD dwFlags,
+ DWORD_PTR dwContext)
+{
+ LPWSTR lpwzFileName;
+ HINTERNET ret;
+
+ lpwzFileName = lpszFileName?WININET_strdup_AtoW(lpszFileName):NULL;
+ ret = FtpOpenFileW(hFtpSession, lpwzFileName, fdwAccess, dwFlags, dwContext);
+ HeapFree(GetProcessHeap(), 0, lpwzFileName);
+ return ret;
+}
+
+
+static void AsyncFtpOpenFileProc(WORKREQUEST *workRequest)
+{
+ struct WORKREQ_FTPOPENFILEW const *req = &workRequest->u.FtpOpenFileW;
+ LPWININETFTPSESSIONW lpwfs = (LPWININETFTPSESSIONW) workRequest->hdr;
+
+ TRACE("%p\n", lpwfs);
+
+ FTP_FtpOpenFileW(lpwfs, req->lpszFilename,
+ req->dwAccess, req->dwFlags, req->dwContext);
+ HeapFree(GetProcessHeap(), 0, req->lpszFilename);
+}
+
+/***********************************************************************
+ * FtpOpenFileW (WININET.@)
+ *
+ * Open a remote file for writing or reading
+ *
+ * RETURNS
+ * HINTERNET handle on success
+ * NULL on failure
+ *
+ */
+HINTERNET WINAPI FtpOpenFileW(HINTERNET hFtpSession,
+ LPCWSTR lpszFileName, DWORD fdwAccess, DWORD dwFlags,
+ DWORD_PTR dwContext)
+{
+ LPWININETFTPSESSIONW lpwfs;
+ LPWININETAPPINFOW hIC = NULL;
+ HINTERNET r = NULL;
+
+ TRACE("(%p,%s,0x%08x,0x%08x,0x%08lx)\n", hFtpSession,
+ debugstr_w(lpszFileName), fdwAccess, dwFlags, dwContext);
+
+ lpwfs = (LPWININETFTPSESSIONW) WININET_GetObject( hFtpSession );
+ if (!lpwfs)
+ {
+ INTERNET_SetLastError(ERROR_INVALID_HANDLE);
+ return FALSE;
+ }
+
+ if (WH_HFTPSESSION != lpwfs->hdr.htype)
+ {
+ INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
+ goto lend;
+ }
+
+ if ((!lpszFileName) ||
+ ((fdwAccess != GENERIC_READ) && (fdwAccess != GENERIC_WRITE)) ||
+ ((dwFlags & FTP_CONDITION_MASK) > FTP_TRANSFER_TYPE_BINARY))
+ {
+ INTERNET_SetLastError(ERROR_INVALID_PARAMETER);
+ goto lend;
+ }
+
+ if (lpwfs->download_in_progress != NULL)
+ {
+ INTERNET_SetLastError(ERROR_FTP_TRANSFER_IN_PROGRESS);
+ goto lend;
+ }
+
+ hIC = lpwfs->lpAppInfo;
+ if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
+ {
+ WORKREQUEST workRequest;
+ struct WORKREQ_FTPOPENFILEW *req;
+
+ workRequest.asyncproc = AsyncFtpOpenFileProc;
+ workRequest.hdr = WININET_AddRef( &lpwfs->hdr );
+ req = &workRequest.u.FtpOpenFileW;
+ req->lpszFilename = WININET_strdupW(lpszFileName);
+ req->dwAccess = fdwAccess;
+ req->dwFlags = dwFlags;
+ req->dwContext = dwContext;
+
+ INTERNET_AsyncCall(&workRequest);
+ r = NULL;
+ }
+ else
+ {
+ r = FTP_FtpOpenFileW(lpwfs, lpszFileName, fdwAccess, dwFlags, dwContext);
+ }
+
+lend:
+ WININET_Release( &lpwfs->hdr );
+
+ return r;
+}
+
+
+/***********************************************************************
* FtpGetFileA (WININET.@)
*
* Retrieve file from the FTP server
More information about the wine-cvs
mailing list