summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-12-19 15:15:17 +0100
committerCarl Hetherington <cth@carlh.net>2025-12-19 15:15:17 +0100
commit054e20e8fbc04a9a7bb78b2c4a52f9ca9c817df2 (patch)
tree80264d4cdcf5ff7196b4d545272da293cf6d6f58
parent127ba4071318ed2bee545bf983792ece369b5111 (diff)
Fix truncation of ISDCF name parts that have had things substituted (#3112).
-rw-r--r--src/lib/film.cc4
-rw-r--r--test/isdcf_name_test.cc10
2 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 0e9c096fc..1b45d81d4 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -972,9 +972,7 @@ Film::isdcf_name(bool if_created_now) const
}
}
- fixed_name = fixed_name.substr(0, Config::instance()->isdcf_name_part_length());
-
- isdcf_name += careful_string_filter(fixed_name, L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-");
+ isdcf_name += careful_string_filter(fixed_name, L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-").substr(0, Config::instance()->isdcf_name_part_length());
if (dcp_content_type()) {
isdcf_name += "_" + dcp_content_type()->isdcf_name();
diff --git a/test/isdcf_name_test.cc b/test/isdcf_name_test.cc
index f03ece4e7..2ccfd5312 100644
--- a/test/isdcf_name_test.cc
+++ b/test/isdcf_name_test.cc
@@ -291,3 +291,13 @@ BOOST_AUTO_TEST_CASE(isdcf_name_with_closed_subtitles)
BOOST_CHECK_EQUAL(film->isdcf_name(false), "Hello_TST-1_F_XX-DE_MOS_2K_20230118_SMPTE_OV");
}
+
+
+BOOST_AUTO_TEST_CASE(isdcf_name_with_accent)
+{
+ auto film = new_test_film("isdcf_name_test_with_accent");
+ film->set_isdcf_date(boost::gregorian::date(2023, boost::gregorian::Jan, 18));
+ film->set_name("BezüglichMeineKatze");
+ BOOST_CHECK_EQUAL(film->isdcf_name(false), "BezuglichMeine_TST-1_F_XX-XX_MOS_2K_20230118_SMPTE_OV");
+}
+