From d39655ff17297e36c94162c0ac679ae61c56570d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 2 Feb 2025 20:21:17 -0600 Subject: [PATCH] Second attempt at fixing #19935 Fixes #19935. Forgot to update the formatting for the reporting case. I'll clean this up in a more general way later, I don't like how this code currently looks. --- Core/HLE/HLE.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Core/HLE/HLE.cpp b/Core/HLE/HLE.cpp index fdac2eced953..d5881bdc1e05 100644 --- a/Core/HLE/HLE.cpp +++ b/Core/HLE/HLE.cpp @@ -1070,11 +1070,21 @@ void hleDoLogInternal(Log t, LogLevel level, u64 res, const char *file, int line if (reportTag[0] == '\0' || Reporting::ShouldLogNTimes(reportTag, 1)) { // Here we want the original key, so that different args, etc. group together. std::string key = std::string(kernelFlag) + std::string("%08x=") + funcName + "(%s)"; - if (reason != nullptr) - key += std::string(": ") + reason; + if (reason != nullptr) { + key += ": "; + key += reason; + } char formatted_message[8192]; - snprintf(formatted_message, sizeof(formatted_message), fmt, kernelFlag, res, funcName, formatted_args, formatted_reason); + if (retmask != 'v') { + if (errStr) { + snprintf(formatted_message, sizeof(formatted_message), fmt, kernelFlag, errStr, funcName, formatted_args, formatted_reason); + } else { + snprintf(formatted_message, sizeof(formatted_message), fmt, kernelFlag, res, funcName, formatted_args, formatted_reason); + } + } else { + snprintf(formatted_message, sizeof(formatted_message), fmt, kernelFlag, funcName, formatted_args, formatted_reason); + } Reporting::ReportMessageFormatted(key.c_str(), formatted_message); } }