From 59a157ebdecf3705f5705749b53009842307c6de Mon Sep 17 00:00:00 2001 From: Colin B Date: Mon, 13 Mar 2023 11:58:59 -0700 Subject: [PATCH] feat: restore support for nonstandard `path.utf-8` (#3454) --- libtransmission/torrent-metainfo.cc | 26 ++++++++++++++---- tests/utils/CMakeLists.txt | 11 ++++---- .../utils/assets/bitcomet.utf-8.special.show | 26 ++++++++++++++++++ .../assets/bitcomet.utf-8.special.torrent | Bin 0 -> 638 bytes tests/utils/run_transmission_show.cmake | 4 +++ 5 files changed, 56 insertions(+), 11 deletions(-) create mode 100644 tests/utils/assets/bitcomet.utf-8.special.show create mode 100644 tests/utils/assets/bitcomet.utf-8.special.torrent diff --git a/libtransmission/torrent-metainfo.cc b/libtransmission/torrent-metainfo.cc index 19209b160..fe3ca41f0 100644 --- a/libtransmission/torrent-metainfo.cc +++ b/libtransmission/torrent-metainfo.cc @@ -171,6 +171,11 @@ struct MetainfoHandler final : public transmission::benc::BasicHandler 1 && key(curdepth - 1) == PathKey) + if (curdepth > 1 && (key(curdepth - 1) == PathKey || key(curdepth - 1) == PathUtf8Key)) { if (!std::empty(file_subpath_)) { @@ -312,8 +318,7 @@ struct MetainfoHandler final : public transmission::benc::BasicHandlerOB< z3qJyfwkaSX)gG*S_wMOEU&9 z!O`J~2V7<<^&#T|Ymo*ZP)>Eu1N5MbbuK6aK9#CMtD{)d>d?+W_u7rlhOFa!+&s_Q z*Y~%F#rVFh{kSa9`5@VolXcKcOXM_