summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-05-03 00:52:29 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2025-05-03 00:52:29 +0100
commit08675e09937136b734450adce295ac8247e0d5ad (patch)
tree56d6d09164e5b229116e22d3d281da8600167900
parentSet a project name (diff)
downloadicespider-main.tar.bz2
icespider-main.tar.xz
icespider-main.zip
Fix compilation with gcc-15HEADicespider-0.9.1main
-rw-r--r--icespider/compile/routeCompiler.cpp11
-rw-r--r--icespider/core/util.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/icespider/compile/routeCompiler.cpp b/icespider/compile/routeCompiler.cpp
index 4057158..cc8a960 100644
--- a/icespider/compile/routeCompiler.cpp
+++ b/icespider/compile/routeCompiler.cpp
@@ -179,6 +179,11 @@ namespace IceSpider::Compile {
}
}
+ template<auto Deleter>
+ using DeleteWith = decltype([](auto ptr) {
+ Deleter(ptr);
+ });
+
void
RouteCompiler::compile(const std::filesystem::path & input, const std::filesystem::path & output) const
{
@@ -193,9 +198,9 @@ namespace IceSpider::Compile {
}
});
- using FilePtr = std::unique_ptr<FILE, decltype(&fclose)>;
- const auto out = FilePtr {fopen(output.c_str(), "w"), &fclose};
- const auto outh = FilePtr {fopen(outputh.c_str(), "w"), &fclose};
+ using FilePtr = std::unique_ptr<FILE, DeleteWith<fclose>>;
+ const FilePtr out {fopen(output.c_str(), "w")};
+ const FilePtr outh {fopen(outputh.c_str(), "w")};
if (!out || !outh) {
throw std::runtime_error("Failed to open output files");
}
diff --git a/icespider/core/util.h b/icespider/core/util.h
index ecf0831..cbbd318 100644
--- a/icespider/core/util.h
+++ b/icespider/core/util.h
@@ -1,6 +1,7 @@
#pragma once
#include <Ice/Optional.h>
+#include <algorithm>
#include <array>
#include <boost/lexical_cast.hpp>
#include <charconv>