From 75978d5fff3a568bc1ed096ebe0ee6f83446def4 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Mon, 22 Nov 2021 21:17:24 +0100 Subject: [PATCH] tar: Support extracting symlinks We can now extract GitHub's LLVM tarballs. :^) --- Userland/Utilities/tar.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Userland/Utilities/tar.cpp b/Userland/Utilities/tar.cpp index 09b18146e2..fc98681a84 100644 --- a/Userland/Utilities/tar.cpp +++ b/Userland/Utilities/tar.cpp @@ -105,6 +105,16 @@ int main(int argc, char** argv) close(fd); break; } + case Archive::TarFileType::SymLink: { + Core::File::ensure_parent_directories(absolute_path); + + if (symlink(header.link_name().to_string().characters(), absolute_path.characters())) { + perror("symlink"); + return 1; + } + + break; + } case Archive::TarFileType::Directory: { Core::File::ensure_parent_directories(absolute_path);