diff options
Diffstat (limited to 'src/combine.cc')
| -rw-r--r-- | src/combine.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/combine.cc b/src/combine.cc index dfdf8b1b..e84b59a8 100644 --- a/src/combine.cc +++ b/src/combine.cc @@ -49,6 +49,7 @@ #include "raw_convert.h" #include <fmt/format.h> #include <boost/filesystem.hpp> +#include <boost/system/windows_error.hpp> #include <set> #include <string> #include <vector> @@ -89,7 +90,13 @@ create_hard_link_or_copy(boost::filesystem::path from, boost::filesystem::path t try { dcp::filesystem::create_hard_link(from, to); } catch (boost::filesystem::filesystem_error& e) { - if (e.code() == boost::system::errc::cross_device_link || e.code() == boost::system::errc::operation_not_supported) { + if ( + e.code() == boost::system::errc::cross_device_link || +#ifdef LIBDCP_WINDOWS + e.code() == boost::system::windows_error::invalid_function || +#endif + e.code() == boost::system::errc::operation_not_supported + ) { dcp::filesystem::copy_file(from, to); } else { throw; |
