X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..9572bf1d442006beba3528dc00c3fc05eb523c24:/src/common/ftp.cpp?ds=sidebyside diff --git a/src/common/ftp.cpp b/src/common/ftp.cpp index 519d7c5618..49cba58de6 100644 --- a/src/common/ftp.cpp +++ b/src/common/ftp.cpp @@ -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 { @@ -960,15 +963,15 @@ int wxFTP::GetFileSize(const wxString& fileName) // substring containing the name we are looking for. We // stop the iteration at the first occurrence of the // filename. The search is not case-sensitive. - bool foundIt = false; - + const size_t numFiles = fileList.size(); size_t i; - for ( i = 0; !foundIt && i < fileList.GetCount(); i++ ) + for ( i = 0; i < fileList.GetCount(); i++ ) { - foundIt = fileList[i].Upper().Contains(fileName.Upper()); + if ( fileList[i].Upper().Contains(fileName.Upper()) ) + break; } - if ( foundIt ) + if ( i != numFiles ) { // The index i points to the first occurrence of // fileName in the array Now we have to find out what