time_zone_service: Always write time zone rule data

Switch firmware will initialize this data even if the given parameters
are invalid. We should do the same.
This commit is contained in:
lat9nq 2023-06-17 20:53:39 -04:00
parent 4cbdce17b6
commit b99c4dd568

View file

@ -112,20 +112,14 @@ void ITimeZoneService::LoadTimeZoneRule(HLERequestContext& ctx) {
LOG_DEBUG(Service_Time, "called, location_name={}", location_name); LOG_DEBUG(Service_Time, "called, location_name={}", location_name);
TimeZone::TimeZoneRule time_zone_rule{}; TimeZone::TimeZoneRule time_zone_rule{};
if (const Result result{ const Result result{time_zone_content_manager.LoadTimeZoneRule(time_zone_rule, location_name)};
time_zone_content_manager.LoadTimeZoneRule(time_zone_rule, location_name)};
result != ResultSuccess) {
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(result);
return;
}
std::vector<u8> time_zone_rule_outbuffer(sizeof(TimeZone::TimeZoneRule)); std::vector<u8> time_zone_rule_outbuffer(sizeof(TimeZone::TimeZoneRule));
std::memcpy(time_zone_rule_outbuffer.data(), &time_zone_rule, sizeof(TimeZone::TimeZoneRule)); std::memcpy(time_zone_rule_outbuffer.data(), &time_zone_rule, sizeof(TimeZone::TimeZoneRule));
ctx.WriteBuffer(time_zone_rule_outbuffer); ctx.WriteBuffer(time_zone_rule_outbuffer);
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(ResultSuccess); rb.Push(result);
} }
void ITimeZoneService::ToCalendarTime(HLERequestContext& ctx) { void ITimeZoneService::ToCalendarTime(HLERequestContext& ctx) {