From a1804990901ab98f49776ec5779fcc183f10edf4 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 21 Nov 2024 10:06:22 -0500 Subject: [PATCH] Fix missed standard byte variant --- SabreTools.Matching/Extensions.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/SabreTools.Matching/Extensions.cs b/SabreTools.Matching/Extensions.cs index 0a2d4f7..fc4fba9 100644 --- a/SabreTools.Matching/Extensions.cs +++ b/SabreTools.Matching/Extensions.cs @@ -14,6 +14,19 @@ namespace SabreTools.Matching return array == null || array.Length == 0; } + /// + /// Find all positions of one array in another, if possible, if possible + /// + public static List FindAllPositions(this byte[] stack, byte[]? needle, int start = 0, int end = -1) + { + // Convert the needle to a nullable byte array + byte?[]? nullableNeedle = null; + if (needle != null) + nullableNeedle = Array.ConvertAll(needle, b => (byte?)b); + + return FindAllPositions(stack, nullableNeedle, start, end); + } + /// /// Find all positions of one array in another, if possible, if possible ///