From 34e4aaddd95557e8aa3587c4002e506621a3e3a0 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 19 Nov 2018 18:00:11 -0500 Subject: lm: Implement SetDestination by doing nothing This service function was likely intended to be a way to redirect where the output of a log went. e.g. Firing a log over a network, dumping over a tunneling session, etc. Given we always want to see the log and not change its output. It's one of the lucky service functions where the easiest implementation is to just do nothing at all and return success. --- src/core/hle/service/lm/lm.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/core/hle') diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index c89157a4d..4e5fdb16e 100644 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -18,7 +18,7 @@ public: ILogger() : ServiceFramework("ILogger") { static const FunctionInfo functions[] = { {0x00000000, &ILogger::Initialize, "Initialize"}, - {0x00000001, nullptr, "SetDestination"}, + {0x00000001, &ILogger::SetDestination, "SetDestination"}, }; RegisterHandlers(functions); } @@ -178,6 +178,17 @@ private: } } + // This service function is intended to be used as a way to + // redirect logging output to different destinations, however, + // given we always want to see the logging output, it's sufficient + // to do nothing and return success here. + void SetDestination(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Service_LM, "called"); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); + } + std::ostringstream log_stream; }; -- cgit v1.2.3