Address comments

This commit is contained in:
Thog 2019-07-03 19:40:11 +02:00
commit 32d3fc8df5
No known key found for this signature in database
GPG key ID: 0CD291558FAFDBC6
2 changed files with 26 additions and 30 deletions

View file

@ -413,10 +413,8 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
}; };
int stdLen; int stdLen;
int namePosition = 0;
Span<char> stdName = name; Span<char> stdName = name;
int namePosition = 0;
int stdOffset = 0; int stdOffset = 0;
if (lastDitch) if (lastDitch)
@ -462,7 +460,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
} }
} }
int charCount = (int)stdLen + 1; int charCount = stdLen + 1;
int destLen = 0; int destLen = 0;
int dstOffset = 0; int dstOffset = 0;
@ -1079,29 +1077,29 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
} }
long position = (p - workBufferPtrStart); long position = (p - workBufferPtrStart);
long nread = streamLength - position; long nRead = streamLength - position;
if (nread < 0) if (nRead < 0)
{ {
return false; return false;
} }
// Nintendo abort in case of a TzIf file with a POSIX TZ Name too long to fit inside a TimeZoneRule. // Nintendo abort in case of a TzIf file with a POSIX TZ Name too long to fit inside a TimeZoneRule.
// As it's impossible in normal usage to achive this, we also force a crash. // As it's impossible in normal usage to achive this, we also force a crash.
if (nread > (TzNameMax + 1)) if (nRead > (TzNameMax + 1))
{ {
throw new InvalidOperationException(); throw new InvalidOperationException();
} }
char[] tempName = new char[TzNameMax + 1]; char[] tempName = new char[TzNameMax + 1];
Array.Copy(workBuffer, position, tempName, 0, nread); Array.Copy(workBuffer, position, tempName, 0, nRead);
if (nread > 2 && tempName[0] == '\n' && tempName[nread - 1] == '\n' && outRules.TypeCount + 2 <= TzMaxTypes) if (nRead > 2 && tempName[0] == '\n' && tempName[nRead - 1] == '\n' && outRules.TypeCount + 2 <= TzMaxTypes)
{ {
tempName[nread - 1] = '\0'; tempName[nRead - 1] = '\0';
char[] name = new char[TzNameMax]; char[] name = new char[TzNameMax];
Array.Copy(tempName, 1, name, 0, nread - 1); Array.Copy(tempName, 1, name, 0, nRead - 1);
if (ParsePosixName(name, out TimeZoneRule tempRules, false)) if (ParsePosixName(name, out TimeZoneRule tempRules, false))
{ {
@ -1381,7 +1379,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
TimezoneName = new char[8] TimezoneName = new char[8]
}; };
int result = 0; int result;
if ((rules.GoAhead && time < rules.Ats[0]) || (rules.GoBack && time > rules.Ats[rules.TimeCount - 1])) if ((rules.GoAhead && time < rules.Ats[0]) || (rules.GoBack && time > rules.Ats[rules.TimeCount - 1]))
{ {

View file

@ -29,8 +29,6 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
TimeZoneManager() TimeZoneManager()
{ {
_device = null;
// Empty rules (UTC) // Empty rules (UTC)
_myRules = new TimeZoneRule _myRules = new TimeZoneRule
{ {