mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:42:57 +00:00
[NET] Fix remaining issues with logon hours.
This commit is contained in:
parent
df31f870c8
commit
d0d7c5f045
1 changed files with 21 additions and 19 deletions
|
@ -909,6 +909,24 @@ ParseDay(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
DWORD
|
||||||
|
LocalToGmtHour(
|
||||||
|
LONG lLocalHour,
|
||||||
|
LONG lBias)
|
||||||
|
{
|
||||||
|
LONG lGmtHour;
|
||||||
|
|
||||||
|
lGmtHour = lLocalHour + lBias;
|
||||||
|
if (lGmtHour < 0)
|
||||||
|
lGmtHour += UNITS_PER_WEEK;
|
||||||
|
else if (lGmtHour > UNITS_PER_WEEK)
|
||||||
|
lGmtHour -= UNITS_PER_WEEK;
|
||||||
|
|
||||||
|
return (DWORD)lGmtHour;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
DWORD
|
DWORD
|
||||||
ParseLogonHours(
|
ParseLogonHours(
|
||||||
|
@ -1018,14 +1036,7 @@ ParseLogonHours(
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert from local timezone to GMT */
|
SetBitValue(HourBitmap, LocalToGmtHour(lStartHour, lBias));
|
||||||
lStartHour += lBias;
|
|
||||||
if (lStartHour < 0)
|
|
||||||
lStartHour += UNITS_PER_WEEK;
|
|
||||||
else if (lStartHour > UNITS_PER_WEEK)
|
|
||||||
lStartHour -= UNITS_PER_WEEK;
|
|
||||||
|
|
||||||
SetBitValue(HourBitmap, (DWORD)lStartHour);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1051,19 +1062,10 @@ ParseLogonHours(
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lEndHour < lStartHour)
|
if (lEndHour <= lStartHour)
|
||||||
lEndHour += HOURS_PER_DAY;
|
lEndHour += HOURS_PER_DAY;
|
||||||
else if (lEndHour == lStartHour)
|
|
||||||
lEndHour = lStartHour + HOURS_PER_DAY;
|
|
||||||
|
|
||||||
/* Convert from local timezone to GMT */
|
for (i = LocalToGmtHour(lStartHour, lBias); i < LocalToGmtHour(lEndHour, lBias); i++)
|
||||||
lEndHour += lBias;
|
|
||||||
if (lEndHour < 0)
|
|
||||||
lEndHour += UNITS_PER_WEEK;
|
|
||||||
else if (lEndHour > UNITS_PER_WEEK)
|
|
||||||
lEndHour -= UNITS_PER_WEEK;
|
|
||||||
|
|
||||||
for (i = (DWORD)lStartHour; i < (DWORD)lEndHour; i++)
|
|
||||||
SetBitValue(HourBitmap, i);
|
SetBitValue(HourBitmap, i);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue