From cb91cdff1d3a6f3fbedcf18d1b226f16b0955efc Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 20 Nov 2024 20:01:28 -0500 Subject: [PATCH] Minor formatting quibbles --- .../Deserializers/PortableExecutable.cs | 10 ++++++---- .../Wrappers/PortableExecutable.cs | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index 4f37bfde..2cd3b9e2 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -1061,8 +1061,9 @@ namespace SabreTools.Serialization.Deserializers if (kvp.Value == null) continue; - var vaddrs = Array.ConvertAll(kvp.Value, - ilte => ilte == null ? 0 : (int)ilte.HintNameTableRVA.ConvertVirtualAddress(sections)); + var vaddrs = Array.ConvertAll(kvp.Value, ilte => ilte == null + ? 0 + : (int)ilte.HintNameTableRVA.ConvertVirtualAddress(sections)); addresses.AddRange(vaddrs); } #else @@ -1084,8 +1085,9 @@ namespace SabreTools.Serialization.Deserializers if (kvp.Value == null) continue; - var vaddrs = Array.ConvertAll(kvp.Value, - iate => iate == null ? 0 : (int)iate.HintNameTableRVA.ConvertVirtualAddress(sections)); + var vaddrs = Array.ConvertAll(kvp.Value, iate => iate == null + ? 0 + : (int)iate.HintNameTableRVA.ConvertVirtualAddress(sections)); addresses.AddRange(vaddrs); } #else diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.cs index f50b8a4a..3d9a2624 100644 --- a/SabreTools.Serialization/Wrappers/PortableExecutable.cs +++ b/SabreTools.Serialization/Wrappers/PortableExecutable.cs @@ -859,18 +859,21 @@ namespace SabreTools.Serialization.Wrappers if (st?.Children == null) continue; + // Return the match if found match = Array.Find(st.Children, sd => sd != null && key.Equals(sd.Key, StringComparison.OrdinalIgnoreCase)); if (match != null) - break; + return match.Value?.TrimEnd('\0'); } + + return null; #else var match = stringTable .SelectMany(st => st?.Children ?? []) .FirstOrDefault(sd => sd != null && key.Equals(sd.Key, StringComparison.OrdinalIgnoreCase)); -#endif // Return either the match or null return match?.Value?.TrimEnd('\0'); +#endif } /// @@ -1150,7 +1153,14 @@ namespace SabreTools.Serialization.Wrappers if (resource is not Dictionary st || st == null) continue; - + foreach (var s in st.Values) + { + if (s == null || !s.Contains(entry)) + continue; + + stringTables.Add(st); + break; + } } return stringTables;