From: Philipp Dallig Date: Wed, 16 May 2018 10:04:38 +0000 (+0200) Subject: Do not add the old timeperiod segment, if we cut it in the middle X-Git-Tag: v2.9.0~27^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fpull%2F6311%2Fhead;p=icinga2 Do not add the old timeperiod segment, if we cut it in the middle --- diff --git a/lib/icinga/timeperiod.cpp b/lib/icinga/timeperiod.cpp index 97183223e..94a57c30b 100644 --- a/lib/icinga/timeperiod.cpp +++ b/lib/icinga/timeperiod.cpp @@ -142,12 +142,12 @@ void TimePeriod::RemoveSegment(double begin, double end) for (const Dictionary::Ptr& segment : segments) { /* Fully contained in the specified range? */ if (segment->Get("begin") >= begin && segment->Get("end") <= end) + // Don't add the old segment, because the segment is fully contained into our range continue; /* Not overlapping at all? */ if (segment->Get("end") < begin || segment->Get("begin") > end) { newSegments->Add(segment); - continue; } @@ -162,6 +162,8 @@ void TimePeriod::RemoveSegment(double begin, double end) { "begin", end }, { "end", segment->Get("end") } })); + // Don't add the old segment, because we have now two new segments and a gap between + continue; } /* Adjust the begin/end timestamps so as to not overlap with the specified range. */