From 0d679bf34892b8e4577798d7e877af40f3cea0e8 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 21 Nov 2021 19:56:48 +0100 Subject: [PATCH] tar: Implement usage of prefixes when extracting --- Userland/Utilities/tar.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Userland/Utilities/tar.cpp b/Userland/Utilities/tar.cpp index ce36b8db94..09b18146e2 100644 --- a/Userland/Utilities/tar.cpp +++ b/Userland/Utilities/tar.cpp @@ -76,7 +76,13 @@ int main(int argc, char** argv) Archive::TarFileStream file_stream = tar_stream.file_contents(); const Archive::TarFileHeader& header = tar_stream.header(); - String absolute_path = Core::File::absolute_path(header.filename()); + + LexicalPath path = LexicalPath(header.filename()); + if (!header.prefix().is_empty()) + path = path.prepend(header.prefix()); + + String absolute_path = Core::File::absolute_path(path.string()); + switch (header.type_flag()) { case Archive::TarFileType::NormalFile: case Archive::TarFileType::AlternateNormalFile: {