diff --git a/Userland/Libraries/LibArchive/Tar.cpp b/Userland/Libraries/LibArchive/Tar.cpp index f373752823c8a9..65954ba64ff782 100644 --- a/Userland/Libraries/LibArchive/Tar.cpp +++ b/Userland/Libraries/LibArchive/Tar.cpp @@ -30,4 +30,9 @@ void TarFileHeader::calculate_checksum() VERIFY(String::formatted("{:06o}", expected_checksum()).copy_characters_to_buffer(m_checksum, sizeof(m_checksum))); } +bool TarFileHeader::content_is_like_extended_header() const +{ + return type_flag() == TarFileType::ExtendedHeader || type_flag() == TarFileType::GlobalExtendedHeader; +} + } diff --git a/Userland/Libraries/LibArchive/Tar.h b/Userland/Libraries/LibArchive/Tar.h index 036d3c8a744669..3772840e8d4075 100644 --- a/Userland/Libraries/LibArchive/Tar.h +++ b/Userland/Libraries/LibArchive/Tar.h @@ -116,6 +116,8 @@ class [[gnu::packed]] TarFileHeader { unsigned expected_checksum() const; void calculate_checksum(); + bool content_is_like_extended_header() const; + private: char m_filename[100] { 0 }; char m_mode[8] { 0 };