X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=base%2Fapplications%2Fnetwork%2Fnet%2FcmdUser.c;h=4530e28e2ed2bda8b9cae41891cacb51e54cbadc;hp=1ce735ee6f8394fa4c4e6f863b651929c7f60519;hb=d0d7c5f045e0d6e0804e9e69650ef39083acdbdf;hpb=df31f870c8762d26e7f275e9badbe392e584ea57 diff --git a/base/applications/network/net/cmdUser.c b/base/applications/network/net/cmdUser.c index 1ce735ee6f8..4530e28e2ed 100644 --- a/base/applications/network/net/cmdUser.c +++ b/base/applications/network/net/cmdUser.c @@ -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 DWORD ParseLogonHours( @@ -1018,14 +1036,7 @@ ParseLogonHours( break; } - /* Convert from local timezone to GMT */ - lStartHour += lBias; - if (lStartHour < 0) - lStartHour += UNITS_PER_WEEK; - else if (lStartHour > UNITS_PER_WEEK) - lStartHour -= UNITS_PER_WEEK; - - SetBitValue(HourBitmap, (DWORD)lStartHour); + SetBitValue(HourBitmap, LocalToGmtHour(lStartHour, lBias)); } else { @@ -1051,19 +1062,10 @@ ParseLogonHours( break; } - if (lEndHour < lStartHour) + if (lEndHour <= lStartHour) lEndHour += HOURS_PER_DAY; - else if (lEndHour == lStartHour) - lEndHour = lStartHour + HOURS_PER_DAY; - - /* Convert from local timezone to GMT */ - 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++) + for (i = LocalToGmtHour(lStartHour, lBias); i < LocalToGmtHour(lEndHour, lBias); i++) SetBitValue(HourBitmap, i); } else