Fix adding multiple interpolated expressions with the same format to admin logs

Add test case
This commit is contained in:
DrSmugleaf
2021-12-26 00:38:04 +01:00
parent 666be08d86
commit 82d9c38c96
2 changed files with 62 additions and 1 deletions

View File

@@ -40,7 +40,23 @@ public ref struct LogStringHandler
format = argument[0] == '@' ? argument[1..] : argument;
}
Values.Add(format, value);
if (!Values.TryAdd(format, value))
{
if (Values[format] == (object?) value)
{
return;
}
var originalFormat = format;
var i = 2;
format = $"{originalFormat}_{i}";
while (!Values.TryAdd(format, value))
{
format = $"{originalFormat}_{i}";
i++;
}
}
}
public void AppendLiteral(string value)