mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-31 01:24:19 +02:00
Improve error message for invalid inline service definitions.
Refs #5846
This commit is contained in:
parent
4ec939f332
commit
8bfb60b7fa
@ -157,6 +157,14 @@ void Array::Resize(size_t new_size)
|
|||||||
m_Data.resize(new_size);
|
m_Data.resize(new_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Array::Clear(void)
|
||||||
|
{
|
||||||
|
ASSERT(!OwnsLock());
|
||||||
|
ObjectLock olock(this);
|
||||||
|
|
||||||
|
m_Data.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void Array::CopyTo(const Array::Ptr& dest) const
|
void Array::CopyTo(const Array::Ptr& dest) const
|
||||||
{
|
{
|
||||||
ASSERT(!OwnsLock());
|
ASSERT(!OwnsLock());
|
||||||
|
@ -56,6 +56,7 @@ public:
|
|||||||
void Remove(Iterator it);
|
void Remove(Iterator it);
|
||||||
|
|
||||||
void Resize(size_t new_size);
|
void Resize(size_t new_size);
|
||||||
|
void Clear(void);
|
||||||
|
|
||||||
void CopyTo(const Array::Ptr& dest) const;
|
void CopyTo(const Array::Ptr& dest) const;
|
||||||
Array::Ptr ShallowClone(void) const;
|
Array::Ptr ShallowClone(void) const;
|
||||||
|
@ -68,7 +68,12 @@ void AExpression::ExtractPath(const std::vector<String>& path, const Array::Ptr&
|
|||||||
AExpression::Ptr exprl = m_Operand2;
|
AExpression::Ptr exprl = m_Operand2;
|
||||||
|
|
||||||
if (path.size() == 1) {
|
if (path.size() == 1) {
|
||||||
VERIFY(exprl->m_Operator == &AExpression::OpDict);
|
if (m_Operator == &AExpression::OpSet)
|
||||||
|
result->Clear();
|
||||||
|
|
||||||
|
if (exprl->m_Operator != &AExpression::OpDict)
|
||||||
|
BOOST_THROW_EXCEPTION(ConfigError("The '" + path[0] + "' attribute must be a dictionary.") << errinfo_debuginfo(m_DebugInfo));
|
||||||
|
|
||||||
Array::Ptr subexprl = exprl->m_Operand1;
|
Array::Ptr subexprl = exprl->m_Operand1;
|
||||||
ObjectLock olock(subexprl);
|
ObjectLock olock(subexprl);
|
||||||
BOOST_FOREACH(const AExpression::Ptr& expr, subexprl) {
|
BOOST_FOREACH(const AExpression::Ptr& expr, subexprl) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user