From 8303c7437961ab9efc3654288e9c354cec3b82d8 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sun, 3 Jul 2022 08:14:54 -0700 Subject: [PATCH] fix: Fixes ValueStringBuilder initial rented buffer (#1111) Fixes issue with ValueStringBuilder having an empty initial buffer. --- Projects/Server/Buffers/ValueStringBuilder.cs | 5 ++--- Projects/UOContent/Engines/Spawners/SpawnPropsGump.cs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Projects/Server/Buffers/ValueStringBuilder.cs b/Projects/Server/Buffers/ValueStringBuilder.cs index e97ac7622..79e1b687a 100644 --- a/Projects/Server/Buffers/ValueStringBuilder.cs +++ b/Projects/Server/Buffers/ValueStringBuilder.cs @@ -51,10 +51,9 @@ public ref struct ValueStringBuilder public ValueStringBuilder(int initialCapacity, bool mt = false) { _mt = mt; - _arrayToReturnToPool = null; - _chars = _arrayToReturnToPool; _length = 0; - _arrayToReturnToPool = ArrayPool.Rent(initialCapacity); + _arrayToReturnToPool = (_mt ? ArrayPool.Shared : STArrayPool.Shared).Rent(initialCapacity); + _chars = _arrayToReturnToPool; } public int Length => _length; diff --git a/Projects/UOContent/Engines/Spawners/SpawnPropsGump.cs b/Projects/UOContent/Engines/Spawners/SpawnPropsGump.cs index 2b1583603..684b3d477 100644 --- a/Projects/UOContent/Engines/Spawners/SpawnPropsGump.cs +++ b/Projects/UOContent/Engines/Spawners/SpawnPropsGump.cs @@ -96,7 +96,7 @@ namespace Server.Gumps } case 3: // Apply { - using var propsBuilder = new ValueStringBuilder(64); + using var propsBuilder = ValueStringBuilder.Create(); bool first = true; foreach (var attr in MobileAttributes) {