diff --git a/nx/source/services/sm.c b/nx/source/services/sm.c index 2ed08c76..b0ca8788 100644 --- a/nx/source/services/sm.c +++ b/nx/source/services/sm.c @@ -36,6 +36,11 @@ Handle smGetServiceOverride(SmServiceName name) { NX_GENERATE_SERVICE_GUARD(sm); +static Result _smCmdInPid(u32 cmd_id) { + u64 pid_placeholder = 0; + return serviceDispatchIn(&g_smSrv, cmd_id, pid_placeholder, .in_send_pid = true); +} + Result _smInitialize(void) { Handle sm_handle; Result rc = svcConnectToNamedPort(&sm_handle, "sm:"); @@ -50,8 +55,7 @@ Result _smInitialize(void) { Handle tmp; if (R_SUCCEEDED(rc) && R_VALUE(smGetServiceOriginal(&tmp, (SmServiceName){})) == 0x415) { - u64 pid_placeholder = 0; - rc = serviceDispatchIn(&g_smSrv, 0, pid_placeholder, .in_send_pid = true); + rc = _smCmdInPid(0); } return rc; @@ -109,5 +113,5 @@ Result smUnregisterService(SmServiceName name) { Result smDetachClient(void) { if (hosversionBefore(11,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); - return serviceDispatch(&g_smSrv, 4); + return _smCmdInPid(4); }