From 12099590127ed3d779e3e614193ac13ba6faf267 Mon Sep 17 00:00:00 2001 From: Sepalani Date: Sun, 4 Jun 2017 19:46:10 +0100 Subject: [PATCH] HLE: Prevent GetStringVA to strip newlines --- Source/Core/Core/HLE/HLE_OS.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/HLE/HLE_OS.cpp b/Source/Core/Core/HLE/HLE_OS.cpp index aa3fc590cc..abe2876db4 100644 --- a/Source/Core/Core/HLE/HLE_OS.cpp +++ b/Source/Core/Core/HLE/HLE_OS.cpp @@ -33,6 +33,11 @@ void HLE_OSPanic() std::string error = GetStringVA(); std::string msg = GetStringVA(5); + if (!error.empty() && error.back() == '\n') + error.pop_back(); + if (!msg.empty() && msg.back() == '\n') + msg.pop_back(); + PanicAlert("OSPanic: %s: %s", error.c_str(), msg.c_str()); ERROR_LOG(OSREPORT, "%08x->%08x| OSPanic: %s: %s", LR, PC, error.c_str(), msg.c_str()); @@ -72,6 +77,9 @@ void HLE_GeneralDebugPrint(ParameterType parameter_type) } } + if (!report_message.empty() && report_message.back() == '\n') + report_message.pop_back(); + NPC = LR; NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str()); @@ -108,6 +116,9 @@ void HLE_write_console() ERROR_LOG(OSREPORT, "__write_console uses an unreachable size pointer"); } + if (!report_message.empty() && report_message.back() == '\n') + report_message.pop_back(); + NPC = LR; NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str()); @@ -251,9 +262,6 @@ std::string GetStringVA(u32 str_reg, ParameterType parameter_type) } } - if (!result.empty() && result.back() == '\n') - result.pop_back(); - return result; }