aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/ArchiveFileOperator.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2023-12-31 06:10:31 +0000
committersaturneric <[email protected]>2023-12-31 06:10:31 +0000
commit5030380bc5e155252655e2ad71e63c15271054c4 (patch)
tree80a4592451267c83da6f8569b3999539884d08e9 /src/core/function/ArchiveFileOperator.cpp
parentfeat: do not load entire data to memory in libarchive operations (diff)
downloadGpgFrontend-5030380bc5e155252655e2ad71e63c15271054c4.tar.gz
GpgFrontend-5030380bc5e155252655e2ad71e63c15271054c4.zip
feat: fully test basical operations of archive and file
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,