fix bug in Downtime::IsInEffect() method that would always return false if the triggering window for a flexible downtime had passed

This commit is contained in:
fbachmann 2018-04-10 20:16:09 +02:00
parent f2ce5b549c
commit 3f75ccbe75
1 changed files with 5 additions and 6 deletions

View File

@ -158,16 +158,15 @@ bool Downtime::IsInEffect() const
{ {
double now = Utility::GetTime(); double now = Utility::GetTime();
if (now < GetStartTime() || if (GetFixed()) {
now > GetEndTime()) /* fixed downtimes are in effect during the entire [start..end) interval */
return false; return (now >= GetStartTime() && now < GetEndTime());
}
if (GetFixed())
return true;
double triggerTime = GetTriggerTime(); double triggerTime = GetTriggerTime();
if (triggerTime == 0) if (triggerTime == 0)
/* flexible downtime has not been triggered yet */
return false; return false;
return (now < triggerTime + GetDuration()); return (now < triggerTime + GetDuration());