diff --git a/external/untwine/untwine/mingw/dirlist.hpp b/external/untwine/untwine/mingw/dirlist.hpp index d22668980c1..a70a0ae7b33 100644 --- a/external/untwine/untwine/mingw/dirlist.hpp +++ b/external/untwine/untwine/mingw/dirlist.hpp @@ -1 +1,39 @@ -#include "../generic/dirlist.hpp" +#pragma once + +#include + +#include + +namespace untwine +{ +namespace os +{ + +// PDAL's directoryList had a bug, so we've imported a working +// version here so that we can still use older PDAL releases. + +inline std::vector directoryList(const std::string& dir) +{ + namespace fs = std::filesystem; + + std::vector files; + + try + { + fs::directory_iterator it(toNative(dir)); + fs::directory_iterator end; + while (it != end) + { + files.push_back(fromNative(it->path().string())); + it++; + } + } + catch (fs::filesystem_error&) + { + files.clear(); + } + return files; +} + +} // namespace os +} // namespace untwine diff --git a/external/untwine/untwine/mingw/mapfile.h b/external/untwine/untwine/mingw/mapfile.hpp similarity index 88% rename from external/untwine/untwine/mingw/mapfile.h rename to external/untwine/untwine/mingw/mapfile.hpp index 6d9362643ac..9bf37e9f113 100644 --- a/external/untwine/untwine/mingw/mapfile.h +++ b/external/untwine/untwine/mingw/mapfile.hpp @@ -1,6 +1,10 @@ #pragma once +#include #include +#include + +#include namespace untwine { @@ -30,7 +34,7 @@ public: HANDLE m_handle; }; -MapContext mapFile(const std::string& filename, bool readOnly, size_t pos, size_t size) +inline MapContext mapFile(const std::string& filename, bool readOnly, size_t pos, size_t size) { MapContext ctx; @@ -61,7 +65,7 @@ MapContext mapFile(const std::string& filename, bool readOnly, size_t pos, size_ return ctx; } -MapContext unmapFile(MapContext ctx) +inline MapContext unmapFile(MapContext ctx) { if (UnmapViewOfFile(ctx.m_addr) == 0) ctx.m_error = "Couldn't unmap file.";