diff --git a/SabreTools.Serialization/Models/TAR/Archive.cs b/SabreTools.Serialization/Models/TAR/Archive.cs index 935418a3..52955e43 100644 --- a/SabreTools.Serialization/Models/TAR/Archive.cs +++ b/SabreTools.Serialization/Models/TAR/Archive.cs @@ -5,6 +5,6 @@ namespace SabreTools.Data.Models.TAR /// /// 1 or more entries /// - public Entry[]? Entries { get; set; } + public Entry[] Entries { get; set; } } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/TAR/Constants.cs b/SabreTools.Serialization/Models/TAR/Constants.cs index eae848a9..11390f5a 100644 --- a/SabreTools.Serialization/Models/TAR/Constants.cs +++ b/SabreTools.Serialization/Models/TAR/Constants.cs @@ -6,4 +6,4 @@ namespace SabreTools.Data.Models.TAR public const string UstarSignatureString = "ustar"; } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/TAR/Entry.cs b/SabreTools.Serialization/Models/TAR/Entry.cs index 74016db3..6ce432b8 100644 --- a/SabreTools.Serialization/Models/TAR/Entry.cs +++ b/SabreTools.Serialization/Models/TAR/Entry.cs @@ -5,11 +5,11 @@ namespace SabreTools.Data.Models.TAR /// /// Entry header /// - public Header? Header { get; set; } + public Header Header { get; set; } /// /// 0 or more blocks representing the content /// - public Block[]? Blocks { get; set; } + public Block[] Blocks { get; set; } } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/TAR/Enums.cs b/SabreTools.Serialization/Models/TAR/Enums.cs index 11c1cd74..be7723f9 100644 --- a/SabreTools.Serialization/Models/TAR/Enums.cs +++ b/SabreTools.Serialization/Models/TAR/Enums.cs @@ -154,4 +154,4 @@ namespace SabreTools.Data.Models.TAR #endregion } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/TAR/Header.cs b/SabreTools.Serialization/Models/TAR/Header.cs index 106b435c..fdd2ed83 100644 --- a/SabreTools.Serialization/Models/TAR/Header.cs +++ b/SabreTools.Serialization/Models/TAR/Header.cs @@ -2,7 +2,7 @@ using System.Runtime.InteropServices; namespace SabreTools.Data.Models.TAR { - /// + /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public sealed class Header { @@ -10,49 +10,49 @@ namespace SabreTools.Data.Models.TAR /// File name without a forward slash /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)] - public string? FileName; + public string FileName; /// /// File mode /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - public string? Mode; + public string Mode; /// /// Owner's numeric user ID /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - public string? UID; + public string UID; /// /// Owner's numeric group ID /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - public string? GID; + public string GID; /// /// File size in bytes /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - public string? Size; + public string Size; /// /// Last modification time in numeric Unix time format /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)] - public string? ModifiedTime; + public string ModifiedTime; /// /// Checksum for header record /// /// Octal string representation [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] - public string? Checksum; + public string Checksum; /// /// Link indicator (file type) / Type flag @@ -63,7 +63,7 @@ namespace SabreTools.Data.Models.TAR /// Linked path name or file name /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)] - public string? LinkName; + public string LinkName; #region USTAR Extension @@ -114,4 +114,4 @@ namespace SabreTools.Data.Models.TAR #endregion } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Wrappers/TapeArchive.Extraction.cs b/SabreTools.Serialization/Wrappers/TapeArchive.Extraction.cs index 4df0bbac..0edf3597 100644 --- a/SabreTools.Serialization/Wrappers/TapeArchive.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/TapeArchive.Extraction.cs @@ -10,7 +10,7 @@ namespace SabreTools.Serialization.Wrappers public bool Extract(string outputDirectory, bool includeDebug) { // Ensure there are entries to extract - if (Entries == null || Entries.Length == 0) + if (Entries.Length == 0) return false; try @@ -19,11 +19,6 @@ namespace SabreTools.Serialization.Wrappers for (int i = 0; i < Entries.Length; i++) { var entry = Entries[i]; - if (entry.Header == null) - { - if (includeDebug) Console.Error.WriteLine($"Invalid entry {i} found! Skipping..."); - continue; - } // Handle special entries var header = entry.Header; @@ -91,13 +86,6 @@ namespace SabreTools.Serialization.Wrappers continue; } - // Ensure there are blocks to extract - if (entry.Blocks == null) - { - if (includeDebug) Console.WriteLine($"Entry {i} had no block data"); - continue; - } - // Get the file size string sizeOctalString = header.Size!.TrimEnd('\0'); if (sizeOctalString.Length == 0) diff --git a/SabreTools.Serialization/Wrappers/TapeArchive.Printing.cs b/SabreTools.Serialization/Wrappers/TapeArchive.Printing.cs index a42e16a3..0bbbbc8f 100644 --- a/SabreTools.Serialization/Wrappers/TapeArchive.Printing.cs +++ b/SabreTools.Serialization/Wrappers/TapeArchive.Printing.cs @@ -43,18 +43,10 @@ namespace SabreTools.Serialization.Wrappers } } - private static void Print(StringBuilder builder, Header? header) + private static void Print(StringBuilder builder, Header header) { builder.AppendLine(" Header:"); builder.AppendLine(" -------------------------"); - - if (header == null) - { - builder.AppendLine(" No header"); - builder.AppendLine(); - return; - } - builder.AppendLine(header.FileName?.TrimEnd('\0'), " File name"); builder.AppendLine(header.Mode, " Mode"); builder.AppendLine(header.UID, " UID"); @@ -74,11 +66,11 @@ namespace SabreTools.Serialization.Wrappers builder.AppendLine(); } - private static void Print(StringBuilder builder, Block[]? entries) + private static void Print(StringBuilder builder, Block[] entries) { builder.AppendLine(" Blocks:"); builder.AppendLine(" -------------------------"); - if (entries == null || entries.Length == 0) + if (entries.Length == 0) { builder.AppendLine(" No blocks"); builder.AppendLine(); diff --git a/SabreTools.Serialization/Wrappers/TapeArchive.cs b/SabreTools.Serialization/Wrappers/TapeArchive.cs index 67464cf6..02d7d398 100644 --- a/SabreTools.Serialization/Wrappers/TapeArchive.cs +++ b/SabreTools.Serialization/Wrappers/TapeArchive.cs @@ -15,7 +15,7 @@ namespace SabreTools.Serialization.Wrappers #region Extension Properties /// - public Entry[]? Entries => Model.Entries; + public Entry[] Entries => Model.Entries; #endregion