diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-07-27 12:47:25 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-07-27 12:47:25 +0100 |
| commit | 0efe439f5e2ff5546a75088cca32572e4ffe4341 (patch) | |
| tree | ae74fe001003b6f24e6b03d719e8629133146691 /src/lib | |
| parent | 9891d147f4fb8619e26453f692de37d6356c9042 (diff) | |
Use correct type for file sizes to fix problems with big files.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/scp_dcp_job.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/scp_dcp_job.cc b/src/lib/scp_dcp_job.cc index 760e85bd0..bfa9d056d 100644 --- a/src/lib/scp_dcp_job.cc +++ b/src/lib/scp_dcp_job.cc @@ -161,14 +161,14 @@ SCPDCPJob::run () string const dcp_dir = _fs->dir (_fs->name); - int bytes_to_transfer = 0; + boost::uintmax_t bytes_to_transfer = 0; for (filesystem::directory_iterator i = filesystem::directory_iterator (dcp_dir); i != filesystem::directory_iterator(); ++i) { bytes_to_transfer += filesystem::file_size (*i); } - int buffer_size = 64 * 1024; + boost::uintmax_t buffer_size = 64 * 1024; char buffer[buffer_size]; - int bytes_transferred = 0; + boost::uintmax_t bytes_transferred = 0; for (filesystem::directory_iterator i = filesystem::directory_iterator (dcp_dir); i != filesystem::directory_iterator(); ++i) { @@ -181,7 +181,7 @@ SCPDCPJob::run () set_status ("copying " + leaf); - int to_do = filesystem::file_size (*i); + boost::uintmax_t to_do = filesystem::file_size (*i); ssh_scp_push_file (sc.scp, leaf.c_str(), to_do, S_IRUSR | S_IWUSR); FILE* f = fopen (filesystem::path (*i).string().c_str(), "rb"); @@ -214,7 +214,7 @@ SCPDCPJob::run () } set_progress (1); - set_status ("OK"); + set_status (""); set_state (FINISHED_OK); } @@ -223,7 +223,10 @@ SCPDCPJob::status () const { boost::mutex::scoped_lock lm (_status_mutex); stringstream s; - s << Job::status() << "; " << _status; + s << Job::status (); + if (!_status.empty ()) { + s << << "; " << _status; + } return s.str (); } |
