Merge pull request #6167 from Morph1984/time-fix

service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
This commit is contained in:
bunnei 2021-04-10 22:11:53 -07:00 committed by GitHub
commit 4f60818eae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -321,9 +321,14 @@ void Module::Interface::CalculateStandardUserSystemClockDifferenceByUser(
Kernel::HLERequestContext& ctx) { Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_Time, "called"); LOG_DEBUG(Service_Time, "called");
IPC::RequestParser rp{ctx}; Clock::ClockSnapshot snapshot_a;
const auto snapshot_a = rp.PopRaw<Clock::ClockSnapshot>(); Clock::ClockSnapshot snapshot_b;
const auto snapshot_b = rp.PopRaw<Clock::ClockSnapshot>();
const auto snapshot_a_data = ctx.ReadBuffer(0);
const auto snapshot_b_data = ctx.ReadBuffer(1);
std::memcpy(&snapshot_a, snapshot_a_data.data(), sizeof(Clock::ClockSnapshot));
std::memcpy(&snapshot_b, snapshot_b_data.data(), sizeof(Clock::ClockSnapshot));
auto time_span_type{Clock::TimeSpanType::FromSeconds(snapshot_b.user_context.offset - auto time_span_type{Clock::TimeSpanType::FromSeconds(snapshot_b.user_context.offset -
snapshot_a.user_context.offset)}; snapshot_a.user_context.offset)};