// declarations
// ============================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "ftp.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/utils.h"
#include "wx/log.h"
#include "wx/intl.h"
+ #include "wx/wxcrtvararg.h"
#endif // WX_PRECOMP
#include "wx/sckaddr.h"
m_passwd << wxGetUserId() << wxT('@') << wxGetFullHostName();
SetNotify(0);
- SetFlags(wxSOCKET_NONE);
+ SetFlags(wxSOCKET_NOWAIT);
m_bPassive = true;
SetDefaultTimeout(60); // Default is Sixty Seconds
m_bEncounteredError = false;
}
// if we got here we must have a non empty code string
- return code[0u];
+ return (char)code[0u];
}
// ----------------------------------------------------------------------------
return false;
}
- // If we get here the operation has been succesfully completed
+ // If we get here the operation has been successfully completed
// Set the status-member
m_currentTransfermode = transferMode;
if ( CheckCommand(wxT("PWD"), '2') )
{
// the result is at least that long if CheckCommand() succeeded
- const wxChar *p = m_lastResult.c_str() + LEN_CODE + 1;
+ wxString::const_iterator p = m_lastResult.begin() + LEN_CODE + 1;
if ( *p != _T('"') )
{
- wxLogDebug(_T("Missing starting quote in reply for PWD: %s"), p);
+ wxLogDebug(_T("Missing starting quote in reply for PWD: %s"),
+ wxString(p, m_lastResult.end()));
}
else
{
- for ( p++; *p; p++ )
+ for ( ++p; (bool)*p; ++p ) // FIXME-DMARS
{
if ( *p == _T('"') )
{
// check if the quote is doubled
- p++;
+ ++p;
if ( !*p || *p != _T('"') )
{
// no, this is the end
return sock;
}
-wxString wxFTP::GetPortCmdArgument(wxIPV4address addrLocal,
- wxIPV4address addrNew)
+wxString wxFTP::GetPortCmdArgument(const wxIPV4address& addrLocal,
+ const wxIPV4address& addrNew)
{
// Just fills in the return value with the local IP
// address of the current socket. Also it fill in the
wxInputStream *wxFTP::GetInputStream(const wxString& path)
{
-#if !wxUSE_URL
- return NULL;
-#else
if ( ( m_currentTransfermode == NONE ) && !SetTransferMode(BINARY) )
return NULL;
return NULL;
}
- wxString tmp_str = wxT("RETR ") + wxURL::ConvertFromURI(path);
+ wxString tmp_str = wxT("RETR ") + wxURI::Unescape(path);
if ( !CheckCommand(tmp_str, '1') )
return NULL;
wxInputFTPStream *in_stream = new wxInputFTPStream(this, sock);
return in_stream;
-#endif
}
wxOutputStream *wxFTP::GetOutputStream(const wxString& path)
// - Windows : like "dir" command
// - others : ?
wxString line(details ? _T("LIST") : _T("NLST"));
- if ( !wildcard.IsEmpty() )
+ if ( !wildcard.empty() )
{
line << _T(' ') << wildcard;
}
if ( GetList(fileList, fileName, false) )
{
// Some ftp-servers (Ipswitch WS_FTP Server 1.0.5 does this)
- // displays this behaviour when queried on a non-existing file:
+ // displays this behaviour when queried on a nonexistent file:
// NLST this_file_does_not_exist
// 150 Opening ASCII data connection for directory listing
// (no data transferred)
bool foundIt = false;
size_t i;
- for ( i = 0; !foundIt && i < fileList.Count(); i++ )
+ for ( i = 0; !foundIt && i < fileList.GetCount(); i++ )
{
foundIt = fileList[i].Upper().Contains(fileName.Upper());
}