]> granicus.if.org Git - icinga2/commitdiff
Fix accessor for field 0 ("prototype")
authorGunnar Beutner <gunnar@beutner.name>
Thu, 30 Jul 2015 06:23:43 +0000 (08:23 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Thu, 30 Jul 2015 06:23:43 +0000 (08:23 +0200)
fixes #9778

lib/base/object.cpp

index f5eb66acbe5e611c56537c1f872f7eb773567530..165c6ccd3afe47566884fad9417ba71b6fb40fed 100644 (file)
@@ -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."));
 }