aboutsummaryrefslogtreecommitdiff
path: root/cli/mmcli-output.c
diff options
context:
space:
mode:
Diffstat (limited to 'cli/mmcli-output.c')
-rw-r--r--cli/mmcli-output.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c
index 0d1fbf63..6e88792d 100644
--- a/cli/mmcli-output.c
+++ b/cli/mmcli-output.c
@@ -488,6 +488,42 @@ mmcli_output_string_array_take (MmcF field,
}
void
+mmcli_output_string_array_multiline_take (MmcF field,
+ gchar **strv)
+{
+ gchar **merged;
+ GPtrArray *pointers;
+
+ merged = NULL;
+ if (strv) {
+ guint i;
+
+ pointers = g_ptr_array_new ();
+ for (i = 0; strv[i]; i++) {
+ gchar **split;
+
+ split = strv[i] ? g_strsplit (strv[i], "\n", -1) : NULL;
+ if (split) {
+ guint n;
+
+ for (n = 0; split[n]; n++) {
+ if (split[n][0]) {
+ g_strstrip (split[n]);
+ g_ptr_array_add (pointers, g_strdup (split[n]));
+ }
+ }
+ g_strfreev (split);
+ }
+ }
+ g_strfreev (strv);
+ g_ptr_array_add (pointers, NULL);
+ merged = (gchar **)g_ptr_array_free (pointers, FALSE);
+ }
+
+ output_item_new_take_multiple (field, merged, TRUE);
+}
+
+void
mmcli_output_string (MmcF field,
const gchar *str)
{