From 84730d21eaa51e0e44efc3384c270288a57b3c77 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Sun, 28 Apr 2024 12:59:37 +0200 Subject: [PATCH] =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Utils/BlockFileDataSubstream.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosStaticFilesServer/Utils/BlockFileDataSubstream.cs b/MareSynchronosServer/MareSynchronosStaticFilesServer/Utils/BlockFileDataSubstream.cs index 418f603..8d7a7bf 100644 --- a/MareSynchronosServer/MareSynchronosStaticFilesServer/Utils/BlockFileDataSubstream.cs +++ b/MareSynchronosServer/MareSynchronosStaticFilesServer/Utils/BlockFileDataSubstream.cs @@ -6,6 +6,7 @@ namespace MareSynchronosStaticFilesServer.Utils; public sealed class BlockFileDataSubstream : IDisposable { private readonly MemoryStream _headerStream; + private readonly BinaryWriter _headerStreamWriter; private readonly FileStream _dataStream; private int _headerPosition = 0; private long _dataPosition = 0; @@ -17,9 +18,9 @@ public sealed class BlockFileDataSubstream : IDisposable public BlockFileDataSubstream(FileStream dataStream) { _headerStream = new MemoryStream(); - using var headerStreamWriter = new BinaryWriter(_headerStream); - headerStreamWriter.Write(Encoding.ASCII.GetBytes("#" + new FileInfo(dataStream.Name).Name + ":" + dataStream.Length.ToString(CultureInfo.InvariantCulture) + "#")); - headerStreamWriter.Flush(); + _headerStreamWriter = new BinaryWriter(_headerStream); + _headerStreamWriter.Write(Encoding.ASCII.GetBytes("#" + new FileInfo(dataStream.Name).Name + ":" + dataStream.Length.ToString(CultureInfo.InvariantCulture) + "#")); + _headerStreamWriter.Flush(); _headerStream.Position = 0; _dataStream = dataStream; } @@ -67,6 +68,7 @@ public sealed class BlockFileDataSubstream : IDisposable { if (_disposed) return; _headerStream.Dispose(); + _headerStreamWriter.Dispose(); _dataStream.Dispose(); _disposed = true; }