From 27cf01ce846b7b97716e4bed76f3a1bd25afb22d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 28 Oct 2025 09:52:53 -0400 Subject: [PATCH] Add printing cases for empty alongside null --- .../Printers/StringBuilderExtensions.cs | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/SabreTools.Serialization/Printers/StringBuilderExtensions.cs b/SabreTools.Serialization/Printers/StringBuilderExtensions.cs index e05ba01f..12c55832 100644 --- a/SabreTools.Serialization/Printers/StringBuilderExtensions.cs +++ b/SabreTools.Serialization/Printers/StringBuilderExtensions.cs @@ -235,6 +235,9 @@ namespace SabreTools.Data.Printers public static StringBuilder AppendLine(this StringBuilder sb, string? value, string prefixString) { string valueString = value ?? "[NULL]"; + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -254,6 +257,9 @@ namespace SabreTools.Data.Printers public static StringBuilder AppendLine(this StringBuilder sb, byte[]? value, string prefixString) { string valueString = (value == null ? "[NULL]" : BitConverter.ToString(value).Replace('-', ' ')); + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -263,6 +269,9 @@ namespace SabreTools.Data.Printers public static StringBuilder AppendLine(this StringBuilder sb, byte[]? value, string prefixString, Encoding encoding) { string valueString = (value == null ? "[NULL]" : encoding.GetString(value).Replace("\0", string.Empty)); + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -278,6 +287,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -293,6 +305,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -308,6 +323,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -323,6 +341,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -338,6 +359,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -353,6 +377,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -368,6 +395,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -383,6 +413,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -398,6 +431,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -413,6 +449,9 @@ namespace SabreTools.Data.Printers valueString = string.Join(", ", valueArr); } + if (valueString.Length == 0) + return sb.AppendLine($"{prefixString}: [EMPTY]"); + return sb.AppendLine($"{prefixString}: {valueString}"); } }