From d75a512ead7de039b32dc7f8cdfb2f9c0d6cafad Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 30 Oct 2025 21:43:38 -0400 Subject: [PATCH] InstallShieldArchiveV3 model cleanup --- .../Models/InstallShieldArchiveV3/Archive.cs | 6 +++--- .../Models/InstallShieldArchiveV3/Constants.cs | 2 +- .../Models/InstallShieldArchiveV3/Directory.cs | 4 ++-- .../Models/InstallShieldArchiveV3/File.cs | 4 ++-- .../Models/InstallShieldArchiveV3/Header.cs | 2 +- .../InstallShieldArchiveV3.Extraction.cs | 3 +-- .../Wrappers/InstallShieldArchiveV3.Printing.cs | 17 +++++------------ .../Wrappers/InstallShieldArchiveV3.cs | 12 ++++++------ 8 files changed, 21 insertions(+), 29 deletions(-) diff --git a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Archive.cs b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Archive.cs index ef1b7779..862ecb1c 100644 --- a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Archive.cs +++ b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Archive.cs @@ -6,16 +6,16 @@ /// /// Archive header information /// - public Header? Header { get; set; } + public Header Header { get; set; } /// /// Directories found in the archive /// - public Directory[]? Directories { get; set; } + public Directory[] Directories { get; set; } /// /// Files found in the archive /// - public File[]? Files { get; set; } + public File[] Files { get; set; } } } diff --git a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Constants.cs b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Constants.cs index c83e6f89..07b43838 100644 --- a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Constants.cs +++ b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Constants.cs @@ -6,4 +6,4 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3 public static readonly byte[] HeaderSignatureBytes = [0x13, 0x5D, 0x65, 0x8C]; } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Directory.cs b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Directory.cs index f2c16e30..53359fbc 100644 --- a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Directory.cs +++ b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Directory.cs @@ -24,6 +24,6 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3 /// /// Name as an ASCII string /// - public string? Name; + public string Name; } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/InstallShieldArchiveV3/File.cs b/SabreTools.Serialization/Models/InstallShieldArchiveV3/File.cs index 3d94ebfd..61b8bfd3 100644 --- a/SabreTools.Serialization/Models/InstallShieldArchiveV3/File.cs +++ b/SabreTools.Serialization/Models/InstallShieldArchiveV3/File.cs @@ -33,6 +33,6 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3 public byte VolumeStart; [MarshalAs(UnmanagedType.AnsiBStr)] - public string? Name; + public string Name; } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Header.cs b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Header.cs index 4c90935b..0441f5db 100644 --- a/SabreTools.Serialization/Models/InstallShieldArchiveV3/Header.cs +++ b/SabreTools.Serialization/Models/InstallShieldArchiveV3/Header.cs @@ -50,4 +50,4 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3 public uint Reserved5; } -} \ No newline at end of file +} diff --git a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Extraction.cs b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Extraction.cs index 25560ea8..64a758f6 100644 --- a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Extraction.cs @@ -58,8 +58,7 @@ namespace SabreTools.Serialization.Wrappers // Get the directory name var dirName = Directories[dirIndex].Name; - if (dirName != null) - filename = Path.Combine(dirName, filename); + filename = Path.Combine(dirName, filename); // Get and adjust the file offset long fileOffset = file.Offset + DataStart; diff --git a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Printing.cs b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Printing.cs index 59ec0db1..9897589b 100644 --- a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Printing.cs +++ b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.Printing.cs @@ -23,17 +23,10 @@ namespace SabreTools.Serialization.Wrappers Print(builder, Model.Files); } - private static void Print(StringBuilder builder, Header? header) + private static void Print(StringBuilder builder, Header header) { builder.AppendLine(" Header Information:"); builder.AppendLine(" -------------------------"); - if (header == null) - { - builder.AppendLine(" No header"); - builder.AppendLine(); - return; - } - builder.AppendLine(header.Signature1, " Signature 1"); builder.AppendLine(header.Signature2, " Signature 2"); builder.AppendLine(header.Reserved0, " Reserved 0"); @@ -56,11 +49,11 @@ namespace SabreTools.Serialization.Wrappers builder.AppendLine(); } - private static void Print(StringBuilder builder, Directory[]? entries) + private static void Print(StringBuilder builder, Directory[] entries) { builder.AppendLine(" Directories:"); builder.AppendLine(" -------------------------"); - if (entries == null || entries.Length == 0) + if (entries.Length == 0) { builder.AppendLine(" No directories"); builder.AppendLine(); @@ -80,11 +73,11 @@ namespace SabreTools.Serialization.Wrappers builder.AppendLine(); } - private static void Print(StringBuilder builder, File[]? entries) + private static void Print(StringBuilder builder, File[] entries) { builder.AppendLine(" Files:"); builder.AppendLine(" -------------------------"); - if (entries == null || entries.Length == 0) + if (entries.Length == 0) { builder.AppendLine(" No files"); builder.AppendLine(); diff --git a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs index dac33dc0..af0b3a80 100644 --- a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs +++ b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs @@ -20,16 +20,16 @@ namespace SabreTools.Serialization.Wrappers #region Extension Properties /// - public ushort DirCount => Model.Header?.DirCount ?? 0; + public ushort DirCount => Model.Header.DirCount; /// - public ushort FileCount => Model.Header?.FileCount ?? 0; + public ushort FileCount => Model.Header.FileCount; /// - public Data.Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories ?? []; + public Data.Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories; /// - public Data.Models.InstallShieldArchiveV3.File[] Files => Model.Files ?? []; + public Data.Models.InstallShieldArchiveV3.File[] Files => Model.Files; /// /// Map of all files to their parent directories by index @@ -85,8 +85,8 @@ namespace SabreTools.Serialization.Wrappers // Create the filename string filename = Path.Combine( - Directories[dirIndex]?.Name ?? $"dir_{dirIndex}", - file.Name ?? $"file_{fileIndex}" + Directories[dirIndex].Name.Length == 0 ? $"dir_{dirIndex}" : Directories[dirIndex].Name, + file.Name.Length == 0 ? $"file_{fileIndex}" : file.Name ); // Add to the map