diff options
Diffstat (limited to 'Ryujinx.HLE/Utilities/StringUtils.cs')
-rw-r--r-- | Ryujinx.HLE/Utilities/StringUtils.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Ryujinx.HLE/Utilities/StringUtils.cs b/Ryujinx.HLE/Utilities/StringUtils.cs index a64d451c..1810b1ad 100644 --- a/Ryujinx.HLE/Utilities/StringUtils.cs +++ b/Ryujinx.HLE/Utilities/StringUtils.cs @@ -1,4 +1,6 @@ using LibHac.Common; +using Microsoft.IO; +using Ryujinx.Common.Memory; using Ryujinx.HLE.HOS; using System; using System.Globalization; @@ -77,7 +79,7 @@ namespace Ryujinx.HLE.Utilities ulong position = context.Request.PtrBuff[index].Position; ulong size = context.Request.PtrBuff[index].Size; - using (MemoryStream ms = new MemoryStream()) + using (RecyclableMemoryStream ms = MemoryStreamManager.Shared.GetStream()) { while (size-- > 0) { @@ -91,7 +93,7 @@ namespace Ryujinx.HLE.Utilities ms.WriteByte(value); } - return Encoding.UTF8.GetString(ms.ToArray()); + return Encoding.UTF8.GetString(ms.GetReadOnlySequence()); } } @@ -110,7 +112,7 @@ namespace Ryujinx.HLE.Utilities ulong position = context.Request.SendBuff[index].Position; ulong size = context.Request.SendBuff[index].Size; - using (MemoryStream ms = new MemoryStream()) + using (RecyclableMemoryStream ms = MemoryStreamManager.Shared.GetStream()) { while (size-- > 0) { @@ -124,7 +126,7 @@ namespace Ryujinx.HLE.Utilities ms.WriteByte(value); } - return Encoding.UTF8.GetString(ms.ToArray()); + return Encoding.UTF8.GetString(ms.GetReadOnlySequence()); } } |