projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix problems with FFmpeg files that have all-zero stream IDs.
[dcpomatic.git]
/
src
/
lib
/
scp_dcp_job.cc
diff --git
a/src/lib/scp_dcp_job.cc
b/src/lib/scp_dcp_job.cc
index 8cde44f0258a2d65ad8a4a44fa437b653f216c2d..779c8dd44b2abf131ea8490c73c4f17f8b155ef1 100644
(file)
--- a/
src/lib/scp_dcp_job.cc
+++ b/
src/lib/scp_dcp_job.cc
@@
-150,7
+150,7
@@
SCPDCPJob::run ()
throw NetworkError (String::compose (_("Could not create remote directory %1 (%2)"), _film->dcp_name(), ssh_get_error (ss.session)));
}
throw NetworkError (String::compose (_("Could not create remote directory %1 (%2)"), _film->dcp_name(), ssh_get_error (ss.session)));
}
-
string
const dcp_dir = _film->dir (_film->dcp_name());
+
boost::filesystem::path
const dcp_dir = _film->dir (_film->dcp_name());
boost::uintmax_t bytes_to_transfer = 0;
for (boost::filesystem::directory_iterator i = boost::filesystem::directory_iterator (dcp_dir); i != boost::filesystem::directory_iterator(); ++i) {
boost::uintmax_t bytes_to_transfer = 0;
for (boost::filesystem::directory_iterator i = boost::filesystem::directory_iterator (dcp_dir); i != boost::filesystem::directory_iterator(); ++i) {
@@
-179,11
+179,13
@@
SCPDCPJob::run ()
int const t = min (to_do, buffer_size);
size_t const read = fread (buffer, 1, t, f);
if (read != size_t (t)) {
int const t = min (to_do, buffer_size);
size_t const read = fread (buffer, 1, t, f);
if (read != size_t (t)) {
+ fclose (f);
throw ReadFileError (boost::filesystem::path (*i).string());
}
r = ssh_scp_write (sc.scp, buffer, t);
if (r != SSH_OK) {
throw ReadFileError (boost::filesystem::path (*i).string());
}
r = ssh_scp_write (sc.scp, buffer, t);
if (r != SSH_OK) {
+ fclose (f);
throw NetworkError (String::compose (_("Could not write to remote file (%1)"), ssh_get_error (ss.session)));
}
to_do -= t;
throw NetworkError (String::compose (_("Could not write to remote file (%1)"), ssh_get_error (ss.session)));
}
to_do -= t;