summaryrefslogtreecommitdiff
path: root/src/lib/spl.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-10-06 02:37:16 +0200
committerCarl Hetherington <cth@carlh.net>2023-10-09 23:38:28 +0200
commit96f50dd5e600925488fdd9db1580aa01b026269b (patch)
treeea8b837a596eb99a7416bfdbfd2d7e4f38603a7b /src/lib/spl.cc
parent94a9473993b027b9368077009decbdd4322f90e3 (diff)
Use dcp::filesystem to wrap filesystem calls and fix_long_path
anything that is passed to read_file() from libcxml. This should fix #2623 and other similar problems.
Diffstat (limited to 'src/lib/spl.cc')
-rw-r--r--src/lib/spl.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/spl.cc b/src/lib/spl.cc
index 3e5e957ff..f49f11a7d 100644
--- a/src/lib/spl.cc
+++ b/src/lib/spl.cc
@@ -22,6 +22,7 @@
#include "content_store.h"
#include "spl.h"
#include <libcxml/cxml.h>
+#include <dcp/filesystem.h>
#include <dcp/raw_convert.h>
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
@@ -42,7 +43,7 @@ SPL::read (boost::filesystem::path path, ContentStore* store)
_spl.clear ();
_missing = false;
cxml::Document doc ("SPL");
- doc.read_file (path);
+ doc.read_file(dcp::filesystem::fix_long_path(path));
_id = doc.string_child("Id");
_name = doc.string_child("Name");
for (auto i: doc.node_children("Entry")) {