X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a96160b58fb552c445de9569c0a891a8a15ab239..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/common/ftp.cpp diff --git a/src/common/ftp.cpp b/src/common/ftp.cpp index b1761ba387..d1bc22eeec 100644 --- a/src/common/ftp.cpp +++ b/src/common/ftp.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: common/ftp.cpp +// Name: src/common/ftp.cpp // Purpose: FTP protocol // Author: Guilhem Lavaux // Modified by: Mark Johnson, wxWindows@mj10777.de @@ -155,11 +155,15 @@ bool wxFTP::Connect(const wxSockAddress& addr, bool WXUNUSED(wait)) return true; } -bool wxFTP::Connect(const wxString& host) +bool wxFTP::Connect(const wxString& host, unsigned short port) { wxIPV4address addr; addr.Hostname(host); - addr.Service(wxT("ftp")); + + if ( port ) + addr.Service(port); + else if (!addr.Service(wxT("ftp"))) + addr.Service(21); return Connect(addr); } @@ -199,8 +203,7 @@ wxSocketBase *wxFTP::AcceptIfActive(wxSocketBase *sock) { m_lastError = wxPROTO_CONNERR; wxLogError(_("Timeout while waiting for FTP server to connect, try passive mode.")); - delete sock; - sock = NULL; + wxDELETE(sock); } else { @@ -584,9 +587,9 @@ wxSocketBase *wxFTP::GetActivePort() addrNew.Service(0); // pick an open port number. wxSocketServer *sockSrv = new wxSocketServer(addrNew); - if (!sockSrv->Ok()) + if (!sockSrv->IsOk()) { - // We use Ok() here to see if everything is ok + // We use IsOk() here to see if everything is ok m_lastError = wxPROTO_PROTERR; delete sockSrv; return NULL; @@ -683,7 +686,7 @@ public: // when checking the result, the stream will // almost always show an error, even if the file was - // properly transfered, thus, lets just grab the result + // properly transfered, thus, let's just grab the result // we are looking for "226 transfer completed" char code = m_ftp->GetResult();