mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-24 22:24:44 +02:00
IcingaDB::PrepareObject(): round Notification#times.{begin,end} not to crash Go daemon
The latter expects ints, not floats - not to mention strings. Luckily Icinga already enforces numeric strings so that we can cast it to number.
This commit is contained in:
parent
a3dabde28a
commit
415b810abf
@ -1383,8 +1383,16 @@ bool IcingaDB::PrepareObject(const ConfigObject::Ptr& object, Dictionary::Ptr& a
|
||||
attributes->Set("timeperiod_id", GetObjectIdentifier(timeperiod));
|
||||
|
||||
if (notification->GetTimes()) {
|
||||
attributes->Set("times_begin", notification->GetTimes()->Get("begin"));
|
||||
attributes->Set("times_end",notification->GetTimes()->Get("end"));
|
||||
auto begin (notification->GetTimes()->Get("begin"));
|
||||
auto end (notification->GetTimes()->Get("end"));
|
||||
|
||||
if (begin != Empty) {
|
||||
attributes->Set("times_begin", std::round((double)begin));
|
||||
}
|
||||
|
||||
if (end != Empty) {
|
||||
attributes->Set("times_end", std::round((double)end));
|
||||
}
|
||||
}
|
||||
|
||||
attributes->Set("notification_interval", notification->GetInterval());
|
||||
|
Loading…
x
Reference in New Issue
Block a user