From 8e124e2abe3880d5b2aec1f367a608143b8562e6 Mon Sep 17 00:00:00 2001 From: Philipp Dallig Date: Wed, 16 May 2018 12:04:38 +0200 Subject: [PATCH] Do not add the old timeperiod segment, if we cut it in the middle --- lib/icinga/timeperiod.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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. */ -- 2.40.0