diff --git a/lib/icinga/macroprocessor.cpp b/lib/icinga/macroprocessor.cpp index a0e63c9da..74108f9ea 100644 --- a/lib/icinga/macroprocessor.cpp +++ b/lib/icinga/macroprocessor.cpp @@ -89,7 +89,12 @@ bool MacroProcessor::ResolveMacro(const String& macro, const ResolverList& resol Dictionary::Ptr vars = dobj->GetVars(); if (vars && vars->Contains(macro)) { - *result = vars->Get(macro); + Value value = vars->Get(macro); + + if (value.IsObjectType()) + value = Utility::Join(value, ';'); + + *result = value; *recursive_macro = true; return true; } @@ -142,6 +147,9 @@ bool MacroProcessor::ResolveMacro(const String& macro, const ResolverList& resol tokens[0] == "notes") *recursive_macro = true; + if (ref.IsObjectType()) + ref = Utility::Join(ref, ';'); + *result = ref; return true; }