diff options
| author | Mary <mary@mary.zone> | 2022-06-24 21:11:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-24 21:11:56 +0200 |
| commit | 2382717600939e0e970f47f404cd62672c097ad4 (patch) | |
| tree | 361edd30df4a9bd2d19cd0f367db432236c2f4d8 /Ryujinx.HLE/HOS | |
| parent | 30ee70a9bc9529772198a51b1b9a605932d2ea96 (diff) | |
timezone: Fix regression caused by #3361 (#3418)
Because of that PR, TimeZoneRule was bigger than 0x4000 thanks to a
misuse of a constant.
This commit address this issue and add a new unit test to ensure the size of
TimeZoneRule is 0x4000 bytes.
Also address suggestions that were lost on the original PR.
Diffstat (limited to 'Ryujinx.HLE/HOS')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs index 6a490baf..b8b3d917 100644 --- a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs +++ b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Time.TimeZone { [StructLayout(LayoutKind.Sequential, Size = Size, Pack = 4)] - struct TimeTypeInfo + public struct TimeTypeInfo { public const int Size = 0x10; diff --git a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs index 705ff025..67237f3d 100644 --- a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs +++ b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Time.TimeZone { [StructLayout(LayoutKind.Sequential, Pack = 4, Size = 0x4000, CharSet = CharSet.Ansi)] - struct TimeZoneRule + public struct TimeZoneRule { public const int TzMaxTypes = 128; public const int TzMaxChars = 50; @@ -25,20 +25,20 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone public bool GoAhead; [StructLayout(LayoutKind.Sequential, Size = sizeof(long) * TzMaxTimes)] - private struct AtsStorageStruct {} + private struct AtsStorageStruct { } private AtsStorageStruct _ats; public Span<long> Ats => SpanHelpers.AsSpan<AtsStorageStruct, long>(ref _ats); [StructLayout(LayoutKind.Sequential, Size = sizeof(byte) * TzMaxTimes)] - private struct TypesStorageStruct {} + private struct TypesStorageStruct { } private TypesStorageStruct _types; - public Span<byte> Types => SpanHelpers.AsByteSpan<TypesStorageStruct>(ref _types); + public Span<byte> Types => SpanHelpers.AsByteSpan(ref _types); - [StructLayout(LayoutKind.Sequential, Size = TimeTypeInfo.Size * TzMaxTimes)] + [StructLayout(LayoutKind.Sequential, Size = TimeTypeInfo.Size * TzMaxTypes)] private struct TimeTypeInfoStorageStruct { } private TimeTypeInfoStorageStruct _ttis; @@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone public Span<TimeTypeInfo> Ttis => SpanHelpers.AsSpan<TimeTypeInfoStorageStruct, TimeTypeInfo>(ref _ttis); [StructLayout(LayoutKind.Sequential, Size = sizeof(byte) * TzCharsArraySize)] - private struct CharsStorageStruct {} + private struct CharsStorageStruct { } private CharsStorageStruct _chars; public Span<byte> Chars => SpanHelpers.AsByteSpan(ref _chars); |
