X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fscp_uploader.cc;h=c14c02215fd399eee8ac5d7b379d9a3b52eec82f;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=9c349f233084efadcd370e91001141346c71d07b;hpb=39fb8198febde1937019db1c300ec363aab5aa56;p=dcpomatic.git diff --git a/src/lib/scp_uploader.cc b/src/lib/scp_uploader.cc index 9c349f233..c14c02215 100644 --- a/src/lib/scp_uploader.cc +++ b/src/lib/scp_uploader.cc @@ -25,7 +25,8 @@ #include "config.h" #include "cross.h" #include "compose.hpp" -#include "warnings.h" +#include +#include #include #include "i18n.h" @@ -55,12 +56,12 @@ SCPUploader::SCPUploader (function set_status, functiontms_ip(), ssh_get_error(_session))); } -DCPOMATIC_DISABLE_WARNINGS +LIBDCP_DISABLE_WARNINGS r = ssh_is_server_known (_session); if (r == SSH_SERVER_ERROR) { throw NetworkError (String::compose(_("SSH error [%1] (%2)"), "ssh_is_server_known", ssh_get_error(_session))); } -DCPOMATIC_ENABLE_WARNINGS +LIBDCP_ENABLE_WARNINGS r = ssh_userauth_password (_session, 0, Config::instance()->tms_password().c_str ()); if (r != SSH_AUTH_SUCCESS) { @@ -105,8 +106,8 @@ SCPUploader::upload_file (boost::filesystem::path from, boost::filesystem::path /* Use generic_string so that we get forward-slashes in the path, even on Windows */ ssh_scp_push_file (_scp, to.generic_string().c_str(), to_do, S_IRUSR | S_IWUSR); - auto f = fopen_boost (from, "rb"); - if (f == nullptr) { + dcp::File f(from, "rb"); + if (!f) { throw NetworkError (String::compose(_("Could not open %1 to send"), from)); } @@ -115,15 +116,13 @@ SCPUploader::upload_file (boost::filesystem::path from, boost::filesystem::path while (to_do > 0) { int const t = min (to_do, buffer_size); - size_t const read = fread (buffer, 1, t, f); + size_t const read = f.read(buffer, 1, t); if (read != size_t (t)) { - fclose (f); throw ReadFileError (from); } int const r = ssh_scp_write (_scp, buffer, t); if (r != SSH_OK) { - fclose (f); throw NetworkError (String::compose(_("Could not write to remote file (%1)"), ssh_get_error(_session))); } to_do -= t; @@ -133,6 +132,4 @@ SCPUploader::upload_file (boost::filesystem::path from, boost::filesystem::path _set_progress ((double) transferred / total_size); } } - - fclose (f); }