From c1ed19d030252cd483a22f897c0a896c4df0e976 Mon Sep 17 00:00:00 2001 From: "DESKTOP-0Q3GGGJ\\Anthony" Date: Tue, 4 Jun 2024 14:38:36 -0600 Subject: [PATCH] change the internal Name property to use a null byte for delimiter to avoid some edge cases with duplicate key/value names --- FlashpointSecurePlayer/Shared.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FlashpointSecurePlayer/Shared.cs b/FlashpointSecurePlayer/Shared.cs index b5b6516..e2ec169 100644 --- a/FlashpointSecurePlayer/Shared.cs +++ b/FlashpointSecurePlayer/Shared.cs @@ -1634,6 +1634,10 @@ public string _ValueExpanded { } } + // this property is never stored in configurations + // and is only for internal use. The null byte is used + // as seperation since the backslash is not a good enough + // delimiter for a primary key (value names can contain them) public string Name { get { string keyName = KeyName; @@ -1647,7 +1651,7 @@ public string Name { if (!String.IsNullOrEmpty(valueName)) { valueName = valueName.ToUpperInvariant(); } - return keyName + "\\" + valueName; + return keyName + "\0" + valueName; } }