projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Emit no audio from DCPs if none is mapped
[dcpomatic.git]
/
src
/
lib
/
internet.cc
diff --git
a/src/lib/internet.cc
b/src/lib/internet.cc
index 121d3524c7f4f83acbddd1df6d7cb3a8c6aba94a..1f280dc5db577157c765bc8fe62be756aeb60821 100644
(file)
--- a/
src/lib/internet.cc
+++ b/
src/lib/internet.cc
@@
-19,11
+19,12
@@
*/
*/
-#include "scoped_temporary.h"
#include "compose.hpp"
#include "compose.hpp"
-#include "exceptions.h"
#include "cross.h"
#include "cross.h"
+#include "exceptions.h"
+#include "scoped_temporary.h"
#include "util.h"
#include "util.h"
+#include <dcp/file.h>
#include <curl/curl.h>
#include <zip.h>
#include <boost/optional.hpp>
#include <curl/curl.h>
#include <zip.h>
#include <boost/optional.hpp>
@@
-37,8
+38,8
@@
using std::function;
using std::list;
using std::string;
using std::function;
using std::list;
using std::string;
-using boost::optional;
using boost::algorithm::trim;
using boost::algorithm::trim;
+using boost::optional;
static size_t
static size_t
@@
-66,7
+67,7
@@
ls_url (string url)
auto const cr = curl_easy_perform (curl);
if (cr != CURLE_OK) {
auto const cr = curl_easy_perform (curl);
if (cr != CURLE_OK) {
- return
list<string>()
;
+ return
{}
;
}
list<string> result;
}
list<string> result;
@@
-74,7
+75,7
@@
ls_url (string url)
for (size_t i = 0; i < ls.size(); ++i) {
if (ls[i] == '\n') {
result.push_back("");
for (size_t i = 0; i < ls.size(); ++i) {
if (ls[i] == '\n') {
result.push_back("");
- } else {
+ } else
if (ls[i] != '\r')
{
result.back() += ls[i];
}
}
result.back() += ls[i];
}
}
@@
-98,9
+99,9
@@
get_from_url (string url, bool pasv, bool skip_pasv_ip, ScopedTemporary& temp)
auto curl = curl_easy_init ();
curl_easy_setopt (curl, CURLOPT_URL, url.c_str());
auto curl = curl_easy_init ();
curl_easy_setopt (curl, CURLOPT_URL, url.c_str());
- auto f = temp.open ("wb");
+ auto
&
f = temp.open ("wb");
curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, get_from_url_data);
curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, get_from_url_data);
- curl_easy_setopt (curl, CURLOPT_WRITEDATA, f);
+ curl_easy_setopt (curl, CURLOPT_WRITEDATA, f
.get()
);
curl_easy_setopt (curl, CURLOPT_FTP_USE_EPSV, 0);
curl_easy_setopt (curl, CURLOPT_FTP_USE_EPRT, 0);
if (skip_pasv_ip) {
curl_easy_setopt (curl, CURLOPT_FTP_USE_EPSV, 0);
curl_easy_setopt (curl, CURLOPT_FTP_USE_EPRT, 0);
if (skip_pasv_ip) {
@@
-115,7
+116,7
@@
get_from_url (string url, bool pasv, bool skip_pasv_ip, ScopedTemporary& temp)
auto const cr = curl_easy_perform (curl);
auto const cr = curl_easy_perform (curl);
-
temp.close
();
+
f.close
();
curl_easy_cleanup (curl);
if (cr != CURLE_OK) {
return String::compose (_("Download failed (%1 error %2)"), url, (int) cr);
curl_easy_cleanup (curl);
if (cr != CURLE_OK) {
return String::compose (_("Download failed (%1 error %2)"), url, (int) cr);
@@
-133,7
+134,7
@@
get_from_url (string url, bool pasv, bool skip_pasv_ip, function<optional<string
if (e) {
return e;
}
if (e) {
return e;
}
- return load (temp.
file
(), url);
+ return load (temp.
path
(), url);
}
}
@@
-159,14
+160,14
@@
get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, functio
Centos 6, Centos 7, Debian 7 and Debian 8.
*/
Centos 6, Centos 7, Debian 7 and Debian 8.
*/
- auto
zip_file = fopen_boost (temp_zip.file (),
"rb");
+ auto
& zip_file = temp_zip.open(
"rb");
if (!zip_file) {
if (!zip_file) {
- return
optional<string>
(_("Could not open downloaded ZIP file"));
+ return
string
(_("Could not open downloaded ZIP file"));
}
}
- auto zip_source = zip_source_filep_create (zip_file, 0, -1, 0);
+ auto zip_source = zip_source_filep_create (zip_file
.take()
, 0, -1, 0);
if (!zip_source) {
if (!zip_source) {
- return
optional<string>
(_("Could not open downloaded ZIP file"));
+ return
string
(_("Could not open downloaded ZIP file"));
}
zip_error_t error;
}
zip_error_t error;
@@
-182,22
+183,22
@@
get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, functio
struct zip_file* file_in_zip = zip_fopen (zip, file.c_str(), 0);
if (!file_in_zip) {
struct zip_file* file_in_zip = zip_fopen (zip, file.c_str(), 0);
if (!file_in_zip) {
- return
optional<string>
(_("Unexpected ZIP file contents"));
+ return
string
(_("Unexpected ZIP file contents"));
}
ScopedTemporary temp_cert;
}
ScopedTemporary temp_cert;
- auto f = temp_cert.open ("wb");
+ auto
&
f = temp_cert.open ("wb");
char buffer[4096];
while (true) {
int const N = zip_fread (file_in_zip, buffer, sizeof (buffer));
char buffer[4096];
while (true) {
int const N = zip_fread (file_in_zip, buffer, sizeof (buffer));
-
checked_fwrite (buffer, N, f, temp_cert.file()
);
+
f.checked_write(buffer, N
);
if (N < int (sizeof (buffer))) {
break;
}
}
zip_fclose (file_in_zip);
zip_close (zip);
if (N < int (sizeof (buffer))) {
break;
}
}
zip_fclose (file_in_zip);
zip_close (zip);
-
temp_cert
.close ();
+
f
.close ();
- return load (temp_cert.
file
(), url);
+ return load (temp_cert.
path
(), url);
}
}