Fix some minor issues with the icinga2.debug feature

refs #6702
This commit is contained in:
Gunnar Beutner 2014-08-16 22:12:40 +02:00
parent f28b02b037
commit fdca524cdd
2 changed files with 38 additions and 11 deletions

2
debian/control vendored
View File

@ -243,7 +243,7 @@ Architecture: all
Section: python
Priority: extra
Depends: ${misc:Depends}, ${python:Depends}
Description: host and network monitoring system - debug symbols
Description: host and network monitoring system - Python module
Icinga 2 is a general-purpose monitoring application and the next generation
after Icinga 1.x - which was a Nagios fork. It should fit the needs of a small
environment as well as big installations.

View File

@ -312,10 +312,17 @@ Value AExpression::OpDict(const AExpression *expr, const Dictionary::Ptr& locals
Value AExpression::OpSet(const AExpression *expr, const Dictionary::Ptr& locals, DebugHint *dhint)
{
Value index = expr->EvaluateOperand1(locals);
DebugHint *sdhint = dhint->GetChild(index);
DebugHint *sdhint = NULL;
if (dhint)
sdhint = dhint->GetChild(index);
Value right = expr->EvaluateOperand2(locals, sdhint);
locals->Set(index, right);
if (sdhint)
sdhint->AddMessage("=", expr->m_DebugInfo);
return right;
}
@ -335,7 +342,10 @@ Value AExpression::OpSetPlus(const AExpression *expr, const Dictionary::Ptr& loc
xlocals->Set("__parent", locals);
}
DebugHint *sdhint = dhint->GetChild(index);
DebugHint *sdhint = NULL;
if (dhint)
sdhint = dhint->GetChild(index);
Value result = left + expr->EvaluateOperand2(xlocals, sdhint);
if (exp_right->m_Operator == &AExpression::OpDict) {
@ -344,6 +354,8 @@ Value AExpression::OpSetPlus(const AExpression *expr, const Dictionary::Ptr& loc
}
locals->Set(index, result);
if (sdhint)
sdhint->AddMessage("+=", expr->m_DebugInfo);
return result;
@ -365,7 +377,10 @@ Value AExpression::OpSetMinus(const AExpression *expr, const Dictionary::Ptr& lo
xlocals->Set("__parent", locals);
}
DebugHint *sdhint = dhint->GetChild(index);
DebugHint *sdhint = NULL;
if (dhint)
sdhint = dhint->GetChild(index);
Value result = left - expr->EvaluateOperand2(xlocals, sdhint);
if (exp_right->m_Operator == &AExpression::OpDict) {
@ -374,6 +389,8 @@ Value AExpression::OpSetMinus(const AExpression *expr, const Dictionary::Ptr& lo
}
locals->Set(index, result);
if (sdhint)
sdhint->AddMessage("-=", expr->m_DebugInfo);
return result;
@ -395,7 +412,10 @@ Value AExpression::OpSetMultiply(const AExpression *expr, const Dictionary::Ptr&
xlocals->Set("__parent", locals);
}
DebugHint *sdhint = dhint->GetChild(index);
DebugHint *sdhint = NULL;
if (dhint)
sdhint = dhint->GetChild(index);
Value result = left * expr->EvaluateOperand2(xlocals, sdhint);
if (exp_right->m_Operator == &AExpression::OpDict) {
@ -404,6 +424,8 @@ Value AExpression::OpSetMultiply(const AExpression *expr, const Dictionary::Ptr&
}
locals->Set(index, result);
if (sdhint)
sdhint->AddMessage("*=", expr->m_DebugInfo);
return result;
@ -425,7 +447,10 @@ Value AExpression::OpSetDivide(const AExpression *expr, const Dictionary::Ptr& l
xlocals->Set("__parent", locals);
}
DebugHint *sdhint = dhint->GetChild(index);
DebugHint *sdhint = NULL;
if (dhint)
sdhint = dhint->GetChild(index);
Value result = left / expr->EvaluateOperand2(xlocals, sdhint);
if (exp_right->m_Operator == &AExpression::OpDict) {
@ -434,6 +459,8 @@ Value AExpression::OpSetDivide(const AExpression *expr, const Dictionary::Ptr& l
}
locals->Set(index, result);
if (sdhint)
sdhint->AddMessage("/=", expr->m_DebugInfo);
return result;