aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/ArchiveFileOperator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/function/ArchiveFileOperator.cpp')
-rw-r--r--src/core/function/ArchiveFileOperator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/function/ArchiveFileOperator.cpp b/src/core/function/ArchiveFileOperator.cpp
index b252f3a0..d186fee2 100644
--- a/src/core/function/ArchiveFileOperator.cpp
+++ b/src/core/function/ArchiveFileOperator.cpp
@@ -220,6 +220,11 @@ void ArchiveFileOperator::ExtractArchiveFromDataExchanger(
break;
}
+ archive_entry_set_pathname(
+ entry, (target_path /
+ std::filesystem::path(archive_entry_pathname(entry)))
+ .c_str());
+
r = archive_write_header(ext, entry);
if (r != ARCHIVE_OK) {
SPDLOG_ERROR("archive_write_header(), ret: {}, reason: {}", r,