From ebee967c7f4f3837130c5bdac2987b2b809f2189 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 28 Aug 2025 09:27:08 -0400 Subject: [PATCH] Clean up gzip and tar a bit --- SabreTools.Models/GZIP/Archive.cs | 4 ++-- SabreTools.Models/GZIP/ExtraFieldData.cs | 8 +++---- SabreTools.Models/GZIP/Header.cs | 28 ++++++++++++------------ SabreTools.Models/GZIP/Trailer.cs | 4 ++-- SabreTools.Models/TAR/Archive.cs | 2 -- SabreTools.Models/TAR/Block.cs | 6 ++++- 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/SabreTools.Models/GZIP/Archive.cs b/SabreTools.Models/GZIP/Archive.cs index 29b4c6a..3aea052 100644 --- a/SabreTools.Models/GZIP/Archive.cs +++ b/SabreTools.Models/GZIP/Archive.cs @@ -6,13 +6,13 @@ namespace SabreTools.Models.GZIP /// /// Header including optional fields /// - public Header? Header; + public Header? Header { get; set; } // Compressed blocks live here /// /// Trailer /// - public Trailer? Trailer; + public Trailer? Trailer { get; set; } } } \ No newline at end of file diff --git a/SabreTools.Models/GZIP/ExtraFieldData.cs b/SabreTools.Models/GZIP/ExtraFieldData.cs index 779ce35..d310e3a 100644 --- a/SabreTools.Models/GZIP/ExtraFieldData.cs +++ b/SabreTools.Models/GZIP/ExtraFieldData.cs @@ -7,20 +7,20 @@ namespace SabreTools.Models.GZIP /// SI1 and SI2 provide a subfield ID, typically two ASCII letters /// with some mnemonic value. /// - public byte SI1; + public byte SI1 { get; set; } /// /// SI1 and SI2 provide a subfield ID, typically two ASCII letters /// with some mnemonic value. /// - public byte SI2; + public byte SI2 { get; set; } /// /// LEN gives the length of the subfield data, excluding the 4 /// initial bytes. /// - public ushort LEN; + public ushort Length { get; set; } - public byte[]? Data; + public byte[]? Data { get; set; } } } \ No newline at end of file diff --git a/SabreTools.Models/GZIP/Header.cs b/SabreTools.Models/GZIP/Header.cs index f09e3b4..a17a1fc 100644 --- a/SabreTools.Models/GZIP/Header.cs +++ b/SabreTools.Models/GZIP/Header.cs @@ -6,22 +6,22 @@ namespace SabreTools.Models.GZIP /// /// IDentification 1 (0x1F) /// - public byte ID1; + public byte ID1 { get; set; } /// /// IDentification 2 (0x8B) /// - public byte ID2; + public byte ID2 { get; set; } /// /// Compression Method /// - public CompressionMethod CM; + public CompressionMethod CompressionMethod { get; set; } /// /// FLaGs /// - public Flags FLG; + public Flags Flags { get; set; } /// /// Modification TIME @@ -35,12 +35,12 @@ namespace SabreTools.Models.GZIP /// compression started. MTIME = 0 means no time stamp is /// available. /// - public uint MTIME; + public uint LastModifiedTime { get; set; } /// /// eXtra FLags /// - public ExtraFlags XFL; + public ExtraFlags ExtraFlags { get; set; } /// /// Operating System @@ -49,7 +49,7 @@ namespace SabreTools.Models.GZIP /// took place. This may be useful in determining end-of-line /// convention for text files. /// - public OperatingSystem OS; + public OperatingSystem OperatingSystem { get; set; } /// /// eXtra LENgth @@ -57,7 +57,7 @@ namespace SabreTools.Models.GZIP /// If FLG.FEXTRA is set, this gives the length of the optional /// extra field. /// - public ushort XLEN; + public ushort ExtraLength { get; set; } /// /// Extra field @@ -66,23 +66,23 @@ namespace SabreTools.Models.GZIP /// the header, with total length XLEN bytes. It consists of a /// series of subfields, each of the form . /// - public ExtraFieldData[]? ExtraField; + public ExtraFieldData[]? ExtraField { get; set; } /// - /// Original filename before compression, zero-terminated + /// Original filename before compression, null-terminated /// - public string? OriginalFileName; + public string? OriginalFileName { get; set; } /// - /// File comment, zero terminated + /// File comment, null terminated /// - public string? FileComment; + public string? FileComment { get; set; } /// /// The CRC16 consists of the two least significant bytes of the /// CRC32 for all bytes of the gzip header up to and not including /// the CRC16. /// - public ushort? CRC16; + public ushort? CRC16 { get; set; } } } \ No newline at end of file diff --git a/SabreTools.Models/GZIP/Trailer.cs b/SabreTools.Models/GZIP/Trailer.cs index 9a878ef..c0a1ebb 100644 --- a/SabreTools.Models/GZIP/Trailer.cs +++ b/SabreTools.Models/GZIP/Trailer.cs @@ -13,7 +13,7 @@ namespace SabreTools.Models.GZIP /// ordering ISO documents. See gopher://info.itu.ch for an /// online version of ITU-T V.42.) /// - public uint CRC32; + public uint CRC32 { get; set; } /// /// Input SIZE @@ -21,6 +21,6 @@ namespace SabreTools.Models.GZIP /// This contains the size of the original (uncompressed) input /// data modulo 2^32. /// - public uint ISIZE; + public uint InputSize { get; set; } } } \ No newline at end of file diff --git a/SabreTools.Models/TAR/Archive.cs b/SabreTools.Models/TAR/Archive.cs index c167179..4957e50 100644 --- a/SabreTools.Models/TAR/Archive.cs +++ b/SabreTools.Models/TAR/Archive.cs @@ -1,5 +1,3 @@ -using System.Collections.Generic; - namespace SabreTools.Models.TAR { public sealed class Archive diff --git a/SabreTools.Models/TAR/Block.cs b/SabreTools.Models/TAR/Block.cs index 0c98ec5..16c7eb1 100644 --- a/SabreTools.Models/TAR/Block.cs +++ b/SabreTools.Models/TAR/Block.cs @@ -2,6 +2,10 @@ namespace SabreTools.Models.TAR { public sealed class Block { - public byte[]? Data = new byte[512]; + /// + /// Data + /// + /// 512 bytes + public byte[]? Data { get; set; } } } \ No newline at end of file