From 8e516f3b6bb269462e3244582eddfcf5a631973c Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 31 Jul 2025 09:19:40 -0400 Subject: [PATCH] Sync include debug flag for CFB extraction --- BinaryObjectScanner/FileType/CFB.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/BinaryObjectScanner/FileType/CFB.cs b/BinaryObjectScanner/FileType/CFB.cs index d2e24503..81991c46 100644 --- a/BinaryObjectScanner/FileType/CFB.cs +++ b/BinaryObjectScanner/FileType/CFB.cs @@ -38,7 +38,7 @@ namespace BinaryObjectScanner.FileType // Loop through and extract all files Directory.CreateDirectory(outDir); - ExtractAll(cfb, outDir); + ExtractAll(cfb, outDir, includeDebug); return true; } @@ -49,8 +49,9 @@ namespace BinaryObjectScanner.FileType /// Extract all files from the CFB to an output directory /// /// Output directory to write to + /// True to include debug data, false otherwise /// True if all files extracted, false otherwise - private static bool ExtractAll(SabreTools.Serialization.Wrappers.CFB? cfb, string outputDirectory) + private static bool ExtractAll(SabreTools.Serialization.Wrappers.CFB? cfb, string outputDirectory, bool includeDebug) { // If we have no files if (cfb?.Model?.DirectoryEntries == null || cfb.Model.DirectoryEntries.Length == 0) @@ -60,7 +61,7 @@ namespace BinaryObjectScanner.FileType bool allExtracted = true; for (int i = 0; i < cfb.Model.DirectoryEntries.Length; i++) { - allExtracted &= ExtractEntry(cfb, i, outputDirectory); + allExtracted &= ExtractEntry(cfb, i, outputDirectory, includeDebug); } return allExtracted; @@ -71,8 +72,9 @@ namespace BinaryObjectScanner.FileType /// /// Entry index to extract /// Output directory to write to + /// True to include debug data, false otherwise /// True if the file extracted, false otherwise - private static bool ExtractEntry(SabreTools.Serialization.Wrappers.CFB cfb, int index, string outputDirectory) + private static bool ExtractEntry(SabreTools.Serialization.Wrappers.CFB cfb, int index, string outputDirectory, bool includeDebug) { // If we have no entries if (cfb?.Model?.DirectoryEntries == null || cfb.Model.DirectoryEntries.Length == 0) @@ -131,8 +133,9 @@ namespace BinaryObjectScanner.FileType fs.Write(data); fs.Flush(); } - catch + catch (Exception ex) { + if (includeDebug) Console.Error.WriteLine(ex); return false; }