diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-10-06 02:37:16 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-10-09 01:21:22 +0200 |
| commit | f0f4dd5e6b6ed5e50d0444a4de3b2a13156edf64 (patch) | |
| tree | dce96c211c6d92062187e8c40026c04a26af72e9 /src/lib/zipper.cc | |
| parent | 89e39ea9e20bc4f8e88e42a57d4505e1fa69fde5 (diff) | |
Use dcp::filesystem to wrap filesystem calls and fix_long_path2623-add-windows
anything that is passed to read_file() from libcxml.
This should fix #2623 and other similar problems.
Diffstat (limited to 'src/lib/zipper.cc')
| -rw-r--r-- | src/lib/zipper.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/zipper.cc b/src/lib/zipper.cc index d095a27bb..e37c8aa12 100644 --- a/src/lib/zipper.cc +++ b/src/lib/zipper.cc @@ -19,23 +19,24 @@ */ -#include "zipper.h" -#include "exceptions.h" #include "dcpomatic_assert.h" +#include "exceptions.h" +#include "zipper.h" +#include <dcp/filesystem.h> #include <zip.h> #include <boost/filesystem.hpp> #include <stdexcept> -using std::string; using std::runtime_error; using std::shared_ptr; +using std::string; Zipper::Zipper (boost::filesystem::path file) { int error; - _zip = zip_open (file.string().c_str(), ZIP_CREATE | ZIP_EXCL, &error); + _zip = zip_open(dcp::filesystem::fix_long_path(file).string().c_str(), ZIP_CREATE | ZIP_EXCL, &error); if (!_zip) { if (error == ZIP_ER_EXISTS) { throw FileError ("ZIP file already exists", file); |
