From: Gunnar Beutner Date: Thu, 30 Jul 2015 06:23:43 +0000 (+0200) Subject: Fix accessor for field 0 ("prototype") X-Git-Tag: v2.4.0~467 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a82c65692ca23574af90da03a3e32eb6193871fa;p=icinga2 Fix accessor for field 0 ("prototype") fixes #9778 --- diff --git a/lib/base/object.cpp b/lib/base/object.cpp index f5eb66acb..165c6ccd3 100644 --- a/lib/base/object.cpp +++ b/lib/base/object.cpp @@ -76,13 +76,19 @@ void Object::InflateMutex(void) m_Mutex.Inflate(); } -void Object::SetField(int, const Value&) +void Object::SetField(int id, const Value&) { - BOOST_THROW_EXCEPTION(std::runtime_error("Invalid field ID.")); + if (id == 0) + BOOST_THROW_EXCEPTION(std::runtime_error("Prototype field cannot be set.")); + else + BOOST_THROW_EXCEPTION(std::runtime_error("Invalid field ID.")); } -Value Object::GetField(int) const +Value Object::GetField(int id) const { - BOOST_THROW_EXCEPTION(std::runtime_error("Invalid field ID.")); + if (id == 0) + return Empty; + else + BOOST_THROW_EXCEPTION(std::runtime_error("Invalid field ID.")); }