Skip to content

Instantly share code, notes, and snippets.

@jcowgill
Created December 28, 2015 00:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcowgill/f33b4b839b57b5e14bf0 to your computer and use it in GitHub Desktop.
Save jcowgill/f33b4b839b57b5e14bf0 to your computer and use it in GitHub Desktop.
Testcase for SFML/SFML#1025
#include <cstdlib>
#include <iostream>
#include <SFML/Network.hpp>
#define FTP_SERVER "speedtest.tele2.net"
#define FTP_PATH "/upload"
template <typename T>
T checkResponse(T response)
{
if (!response.isOk())
std::cerr << "[ERROR] ";
std::cerr << '\t' << response.getStatus() << ' ' << response.getMessage() << std::endl;
if (!response.isOk())
std::exit(1);
return response;
}
int main(void)
{
// Print directory listing of above server
sf::Ftp ftp;
std::cerr << "Connect " << FTP_SERVER;
checkResponse(ftp.connect(FTP_SERVER));
std::cerr << "Anonymous Login";
checkResponse(ftp.login());
std::cerr << "Get CWD";
checkResponse(ftp.getWorkingDirectory());
std::cerr << "Chdir " << FTP_PATH;
checkResponse(ftp.changeDirectory(FTP_PATH));
std::cerr << "Get CWD";
checkResponse(ftp.getWorkingDirectory());
std::cerr << "List directory";
auto list_response = checkResponse(ftp.getDirectoryListing());
for (auto& dir : list_response.getListing())
std::cerr << ' ' << dir << '\n';
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment