From bf3035f06b4ad4fd528a6d7826ea8935a4a764ac Mon Sep 17 00:00:00 2001 From: "WINDEV2110EVAL\\User" Date: Mon, 6 Dec 2021 21:46:59 -0800 Subject: [PATCH] Don't include unnecessary parameters for helper functions that are only used once. Added a missing comment for StringEqualsInsensitive. --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 26 +++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 436e706e8..721a05240 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1001,7 +1001,7 @@ namespace SixLabors.ImageSharp.Formats.Png ReadOnlySpan dataSpan = data.AsSpan(); dataSpan = dataSpan.TrimStart(); - if (!StringEquals(dataSpan.Slice(0, 4), "exif".AsSpan(), StringComparison.OrdinalIgnoreCase)) + if (!StringEqualsInsensitive(dataSpan.Slice(0, 4), "exif".AsSpan())) { // "exif" identifier is missing from the beginning of the text chunk return false; @@ -1070,13 +1070,20 @@ namespace SixLabors.ImageSharp.Formats.Png return true; } - private static bool StringEquals(ReadOnlySpan span1, ReadOnlySpan span2, StringComparison comparisonType) + /// + /// Compares two ReadOnlySpan<char>s in a case-insensitive method. + /// This is only needed because older frameworks are missing the extension method. + /// + /// The first to compare. + /// The second to compare. + /// True if the spans were identical, false otherwise. + private static bool StringEqualsInsensitive(ReadOnlySpan span1, ReadOnlySpan span2) { #pragma warning disable IDE0022 // Use expression body for methods #if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER - return span1.Equals(span2, comparisonType); + return span1.Equals(span2, StringComparison.OrdinalIgnoreCase); #else - return span1.ToString().Equals(span2.ToString(), comparisonType); + return span1.ToString().Equals(span2.ToString(), StringComparison.OrdinalIgnoreCase); #endif #pragma warning restore IDE0022 // Use expression body for methods } @@ -1085,19 +1092,14 @@ namespace SixLabors.ImageSharp.Formats.Png /// int.Parse() a ReadOnlySpan<char>, with a fallback for older frameworks. /// /// The to parse. - /// The of the integer to parse. - /// The to use when parsing the integer. /// The parsed . - private static int ParseInt32( - ReadOnlySpan span, - System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, - IFormatProvider provider = null) + private static int ParseInt32(ReadOnlySpan span) { #pragma warning disable IDE0022 // Use expression body for methods #if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER - return int.Parse(span, style, provider); + return int.Parse(span); #else - return int.Parse(span.ToString(), style, provider); + return int.Parse(span.ToString()); #endif #pragma warning restore IDE0022 // Use expression body for methods }