Revert "Structural and Memory Safety Improvements, Analyzer Cleanup (ryubing/ryujinx!47)"

This reverts merge request !47
This commit is contained in:
GreemDev
2025-06-15 20:45:26 -05:00
parent faf9e3cdd7
commit 77a797f154
307 changed files with 1245 additions and 1016 deletions

View File

@@ -3,7 +3,7 @@ using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Time.Clock
{
[StructLayout(LayoutKind.Sequential, Pack = 1)]
[StructLayout(LayoutKind.Sequential)]
struct TimeSpanType
{
private const long NanoSecondsPerSecond = 1000000000;

View File

@@ -83,7 +83,9 @@ namespace Ryujinx.HLE.HOS.Services.Time
return ResultCode.PermissionDenied;
}
_ = context.RequestData.ReadStruct<TimeSpanType>(); // internalOffset
#pragma warning disable IDE0059 // Remove unnecessary value assignment
TimeSpanType internalOffset = context.RequestData.ReadStruct<TimeSpanType>();
#pragma warning restore IDE0059
// TODO: set:sys SetExternalSteadyClockInternalOffset(internalOffset.ToSeconds())

View File

@@ -1,3 +1,5 @@
using System.Diagnostics.CodeAnalysis;
namespace Ryujinx.HLE.HOS.Services.Time
{
public enum ResultCode

View File

@@ -248,6 +248,9 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
if (resultCode == ResultCode.Success)
{
ulong outBufferPosition = context.Request.RecvListBuff[0].Position;
#pragma warning disable IDE0059 // Remove unnecessary value assignment
ulong outBufferSize = context.Request.RecvListBuff[0].Size;
#pragma warning restore IDE0059
context.Memory.Write(outBufferPosition, posixTime);
context.ResponseData.Write(1);
@@ -267,6 +270,9 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
if (resultCode == ResultCode.Success)
{
ulong outBufferPosition = context.Request.RecvListBuff[0].Position;
#pragma warning disable IDE0059 // Remove unnecessary value assignment
ulong outBufferSize = context.Request.RecvListBuff[0].Size;
#pragma warning restore IDE0059
context.Memory.Write(outBufferPosition, posixTime);

View File

@@ -14,8 +14,9 @@ namespace Ryujinx.HLE.HOS.Services.Time
private Switch _device;
private KSharedMemory _sharedMemory;
private SharedMemoryStorage _timeSharedMemoryStorage;
#pragma warning disable IDE0052 // Remove unread private member
private int _timeSharedMemorySize;
#pragma warning restore IDE0052
private const uint SteadyClockContextOffset = 0x00;
private const uint LocalSystemClockContextOffset = 0x38;

View File

@@ -649,8 +649,22 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
}
}
bool isDaySavingTime = false;
long theirDstOffset;
for (int i = 0; i < outRules.TimeCount; i++)
{
int j = outRules.Types[i];
if (outRules.Ttis[j].IsDaySavingTime)
{
#pragma warning disable IDE0059 // Remove unnecessary value assignment
theirDstOffset = -outRules.Ttis[j].GmtOffset;
#pragma warning restore IDE0059
}
}
bool isDaySavingTime = false;
#pragma warning disable IDE0059 // Remove unnecessary value assignment
long theirOffset = theirStdOffset;
#pragma warning restore IDE0059
for (int i = 0; i < outRules.TimeCount; i++)
{
int j = outRules.Types[i];
@@ -667,9 +681,16 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
}
}
if (!outRules.Ttis[j].IsDaySavingTime)
theirOffset = -outRules.Ttis[j].GmtOffset;
if (outRules.Ttis[j].IsDaySavingTime)
{
theirStdOffset = -outRules.Ttis[j].GmtOffset;
#pragma warning disable IDE0059 // Remove unnecessary value assignment
theirDstOffset = theirOffset;
#pragma warning restore IDE0059
}
else
{
theirStdOffset = theirOffset;
}
}