mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 06:45:11 +00:00
InstallShieldArchiveV3 model cleanup
This commit is contained in:
@@ -6,16 +6,16 @@
|
||||
/// <summary>
|
||||
/// Archive header information
|
||||
/// </summary>
|
||||
public Header? Header { get; set; }
|
||||
public Header Header { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Directories found in the archive
|
||||
/// </summary>
|
||||
public Directory[]? Directories { get; set; }
|
||||
public Directory[] Directories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Files found in the archive
|
||||
/// </summary>
|
||||
public File[]? Files { get; set; }
|
||||
public File[] Files { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,4 +6,4 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3
|
||||
|
||||
public static readonly byte[] HeaderSignatureBytes = [0x13, 0x5D, 0x65, 0x8C];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,6 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3
|
||||
/// <summary>
|
||||
/// Name as an ASCII string
|
||||
/// </summary>
|
||||
public string? Name;
|
||||
public string Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,6 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3
|
||||
public byte VolumeStart;
|
||||
|
||||
[MarshalAs(UnmanagedType.AnsiBStr)]
|
||||
public string? Name;
|
||||
public string Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,4 +50,4 @@ namespace SabreTools.Data.Models.InstallShieldArchiveV3
|
||||
|
||||
public uint Reserved5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -20,16 +20,16 @@ namespace SabreTools.Serialization.Wrappers
|
||||
#region Extension Properties
|
||||
|
||||
/// <inheritdoc cref="Header.DirCount"/>
|
||||
public ushort DirCount => Model.Header?.DirCount ?? 0;
|
||||
public ushort DirCount => Model.Header.DirCount;
|
||||
|
||||
/// <inheritdoc cref="Header.FileCount"/>
|
||||
public ushort FileCount => Model.Header?.FileCount ?? 0;
|
||||
public ushort FileCount => Model.Header.FileCount;
|
||||
|
||||
/// <inheritdoc cref="Archive.Directories"/>
|
||||
public Data.Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories ?? [];
|
||||
public Data.Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories;
|
||||
|
||||
/// <inheritdoc cref="Archive.Files"/>
|
||||
public Data.Models.InstallShieldArchiveV3.File[] Files => Model.Files ?? [];
|
||||
public Data.Models.InstallShieldArchiveV3.File[] Files => Model.Files;
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
|
||||
Reference in New Issue
Block a user