]> granicus.if.org Git - icinga2/commitdiff
livestatus: join csv arrays into comma seperated string
authorMichael Friedrich <michael.friedrich@netways.de>
Fri, 12 Jul 2013 14:32:13 +0000 (16:32 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Fri, 12 Jul 2013 14:32:13 +0000 (16:32 +0200)
refs #4374

components/livestatus/query.cpp

index 9c19b3ac14d85b0b7e1423796bc4336d8b2fe088..74513257e4aadcc5203addc8fbe14a1ec6ceea0f 100644 (file)
@@ -280,7 +280,22 @@ void Query::PrintResultSet(std::ostream& fp, const std::vector<String>& columns,
                                else
                                        fp << ";";
 
-                               fp << Convert::ToString(value);
+                               if (value.IsObjectType<Array>()) {
+                                       bool first_inner = true;
+                                       Array::Ptr arr = static_cast<Array::Ptr>(value);
+
+                                       ObjectLock rlock(arr);
+                                       BOOST_FOREACH(const Value& arr_val, arr) {
+                                               if (first_inner)
+                                                       first_inner = false;
+                                               else
+                                                       fp << ",";
+
+                                               fp << Convert::ToString(arr_val);
+                                       }
+                               } else {
+                                       fp << Convert::ToString(value);
+                               }
                        }
 
                        fp << "\n";