1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:57:44 +00:00

tar: Use the prefixed path for listing and verbose output

This commit is contained in:
Tim Schumacher 2022-03-04 16:57:16 +01:00 committed by Andreas Kling
parent e0dba2b81b
commit ff19c1cffe

View file

@ -78,19 +78,20 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
return 1;
}
for (; !tar_stream.finished(); tar_stream.advance()) {
const Archive::TarFileHeader& header = tar_stream.header();
LexicalPath path = LexicalPath(header.filename());
if (!header.prefix().is_empty())
path = path.prepend(header.prefix());
String filename = path.string();
if (list || verbose)
outln("{}", tar_stream.header().filename());
outln("{}", filename);
if (extract) {
Archive::TarFileStream file_stream = tar_stream.file_contents();
const Archive::TarFileHeader& header = tar_stream.header();
LexicalPath path = LexicalPath(header.filename());
if (!header.prefix().is_empty())
path = path.prepend(header.prefix());
String absolute_path = Core::File::absolute_path(path.string());
String absolute_path = Core::File::absolute_path(filename);
switch (header.type_flag()) {
case Archive::TarFileType::NormalFile: