nixpkgs/pkgs/applications/misc/bambu-studio/0002-fix-build-for-gcc-13.diff
2024-07-02 17:56:12 +02:00

39 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);