From 66c7afe20b0789c0c514b8364bd80f6a65466386 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 31 May 2022 16:06:29 -0700 Subject: [PATCH] Use placeholder cabinet to start at first file --- BurnOutSharp/FileType/MicrosoftCAB.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/BurnOutSharp/FileType/MicrosoftCAB.cs b/BurnOutSharp/FileType/MicrosoftCAB.cs index 55cb7cae..6b93e580 100644 --- a/BurnOutSharp/FileType/MicrosoftCAB.cs +++ b/BurnOutSharp/FileType/MicrosoftCAB.cs @@ -61,20 +61,21 @@ namespace BurnOutSharp.FileType } // If there are additional next CABs, add those - while (!string.IsNullOrWhiteSpace(cabFile?.NextName)) + var cabFile1 = cabFile; + while (!string.IsNullOrWhiteSpace(cabFile1?.NextName)) { - var cabFile2 = decompressor.Open(Path.Combine(directory, cabFile.PreviousName)); - Error error = decompressor.Append(cabFile, cabFile2); + var cabFile2 = decompressor.Open(Path.Combine(directory, cabFile1.PreviousName)); + Error error = decompressor.Append(cabFile1, cabFile2); if (error != Error.MSPACK_ERR_OK) { - if (scanner.IncludeDebug) Console.WriteLine($"Error occurred appending '{cabFile2.Filename}' to '{cabFile.Filename}': {error}"); + if (scanner.IncludeDebug) Console.WriteLine($"Error occurred appending '{cabFile2.Filename}' to '{cabFile1.Filename}': {error}"); decompressor.FixMSZip = true; decompressor.Salvage = true; break; } - cabFile = cabFile2; + cabFile1 = cabFile2; } // Loop through the found internal files