diff --git a/lib/icinga/macroprocessor.cpp b/lib/icinga/macroprocessor.cpp index 77a3aeafc..625a4169e 100644 --- a/lib/icinga/macroprocessor.cpp +++ b/lib/icinga/macroprocessor.cpp @@ -54,8 +54,13 @@ Value MacroProcessor::ResolveMacros(const Value& str, const ResolverList& resolv BOOST_FOREACH(const Value& arg, arr) { /* Note: don't escape macros here. */ - resultArr->Add(InternalResolveMacros(arg, resolvers, cr, missingMacro, - EscapeCallback(), resolvedMacros, useResolvedMacros)); + Value value = InternalResolveMacros(arg, resolvers, cr, missingMacro, + EscapeCallback(), resolvedMacros, useResolvedMacros); + + if (value.IsObjectType()) + resultArr->Add(Utility::Join(value, ';')); + else + resultArr->Add(value); } result = resultArr;