From f8f1a66ab99ff1d394da5dbe4f956f2545d599bd Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 15 Oct 2023 10:12:33 +0200 Subject: [PATCH] Fix multi-line logs on Windows regression from cf94cd937a7a72aa9828bf63f47d945084963d8f --- Source/Engine/Core/Log.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/Engine/Core/Log.cpp b/Source/Engine/Core/Log.cpp index e3e1cc494..c8586db76 100644 --- a/Source/Engine/Core/Log.cpp +++ b/Source/Engine/Core/Log.cpp @@ -9,7 +9,6 @@ #include "Engine/Platform/FileSystem.h" #include "Engine/Platform/CriticalSection.h" #include "Engine/Serialization/FileWriteStream.h" -#include "Engine/Serialization/MemoryWriteStream.h" #include "Engine/Debug/Exceptions/Exceptions.h" #if USE_EDITOR #include "Engine/Core/Collections/Array.h" @@ -210,17 +209,18 @@ void Log::Logger::ProcessLogMessage(LogType type, const StringView& msg, fmt_fla hasWindowsNewLine |= msg.Get()[i - 1] != '\r' && msg.Get()[i] == '\n'; if (hasWindowsNewLine) { - MemoryWriteStream msgStream(msgLength * sizeof(Char)); - msgStream.WriteChar(msg.Get()[0]); + Array msgStream; + msgStream.EnsureCapacity(msgLength); + msgStream.Add(msg.Get()[0]); for (int32 i = 1; i < msgLength; i++) { if (msg.Get()[i - 1] != '\r' && msg.Get()[i] == '\n') - msgStream.WriteChar(TEXT('\r')); - msgStream.WriteChar(msg.Get()[i]); + msgStream.Add(TEXT('\r')); + msgStream.Add(msg.Get()[i]); } - msgStream.WriteChar(TEXT('\0')); - w.append((const Char*)msgStream.GetHandle(), (const Char*)msgStream.GetHandle() + msgStream.GetPosition()); - //fmt_flax::format(w, TEXT("{}"), (const Char*)msgStream.GetHandle()); + msgStream.Add(TEXT('\0')); + w.append(msgStream.Get(), (const Char*)(msgStream.Get() + msgStream.Count())); + //fmt_flax::format(w, TEXT("{}"), (const Char*)msgStream.Get()); return; } #endif