f34ce41345
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp
|
|
index 11a36dfabc..77a44e699b 100644
|
|
--- a/src/slic3r/Utils/Http.cpp
|
|
+++ b/src/slic3r/Utils/Http.cpp
|
|
@@ -88,9 +88,13 @@ std::mutex g_mutex;
|
|
|
|
struct form_file
|
|
{
|
|
- fs::ifstream ifs;
|
|
+ fs::ifstream ifs;
|
|
boost::filesystem::ifstream::off_type init_offset;
|
|
size_t content_length;
|
|
+
|
|
+ form_file(fs::path const& p, const boost::filesystem::ifstream::off_type offset, const size_t content_length)
|
|
+ : ifs(p, std::ios::in | std::ios::binary), init_offset(offset), content_length(content_length)
|
|
+ {}
|
|
};
|
|
|
|
struct Http::priv
|
|
@@ -314,7 +318,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha
|
|
filename = path.string().c_str();
|
|
}
|
|
|
|
- form_files.emplace_back(form_file{{path, std::ios::in | std::ios::binary}, offset, length});
|
|
+ form_files.emplace_back(path, offset, length);
|
|
auto &f = form_files.back();
|
|
size_t size = length;
|
|
if (length == 0) {
|
|
@@ -381,7 +385,7 @@ void Http::priv::set_put_body(const fs::path &path)
|
|
boost::system::error_code ec;
|
|
boost::uintmax_t filesize = file_size(path, ec);
|
|
if (!ec) {
|
|
- putFile = std::make_unique<form_file>(form_file{{path, std::ios_base::binary | std::ios_base::in}, 0, 0});
|
|
+ putFile = std::make_unique<form_file>(path, 0, 0);
|
|
::curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
|
|
::curl_easy_setopt(curl, CURLOPT_READDATA, (void *) (putFile.get()));
|
|
::curl_easy_setopt(curl, CURLOPT_INFILESIZE, filesize);
|
|
|