Blame SOURCES/002-feature-set.patch

a216ed
From 12e59f337f838d647deb8f84850324f785e58824 Mon Sep 17 00:00:00 2001
a216ed
From: Chris Lumens <clumens@redhat.com>
a216ed
Date: Tue, 20 Oct 2020 10:53:26 -0400
a216ed
Subject: [PATCH] Feature: libcrmcommon: Add a spacer formatted output message.
a216ed
a216ed
---
a216ed
 include/crm/common/output_internal.h | 10 +++++++++-
a216ed
 lib/common/output_html.c             |  6 ++++++
a216ed
 lib/common/output_log.c              |  6 ++++++
a216ed
 lib/common/output_text.c             |  6 ++++++
a216ed
 lib/common/output_xml.c              |  6 ++++++
a216ed
 tools/crm_mon_curses.c               |  6 ++++++
a216ed
 6 files changed, 39 insertions(+), 1 deletion(-)
a216ed
a216ed
diff --git a/include/crm/common/output_internal.h b/include/crm/common/output_internal.h
a216ed
index 2874259..e1bd295 100644
a216ed
--- a/include/crm/common/output_internal.h
a216ed
+++ b/include/crm/common/output_internal.h
a216ed
@@ -460,6 +460,14 @@ struct pcmk__output_s {
a216ed
      * \return true if output should be supressed, false otherwise.
a216ed
      */
a216ed
     bool (*is_quiet) (pcmk__output_t *out);
a216ed
+
a216ed
+    /*!
a216ed
+     * \internal
a216ed
+     * \brief Output a spacer.  Not all formatter will do this.
a216ed
+     *
a216ed
+     * \param[in] out The output functions structure.
a216ed
+     */
a216ed
+    void (*spacer) (pcmk__output_t *out);
a216ed
 };
a216ed
 
a216ed
 /*!
a216ed
@@ -745,7 +753,7 @@ G_GNUC_NULL_TERMINATED;
a216ed
 
a216ed
 #define PCMK__OUTPUT_SPACER_IF(out_obj, cond)   \
a216ed
     if (cond) {                                 \
a216ed
-        out_obj->info(out_obj, "%s", "");       \
a216ed
+        out->spacer(out);                       \
a216ed
     }
a216ed
 
a216ed
 #define PCMK__OUTPUT_LIST_HEADER(out_obj, cond, retcode, title...)  \
a216ed
diff --git a/lib/common/output_html.c b/lib/common/output_html.c
a216ed
index 156887d..e354b5d 100644
a216ed
--- a/lib/common/output_html.c
a216ed
+++ b/lib/common/output_html.c
a216ed
@@ -368,6 +368,11 @@ html_is_quiet(pcmk__output_t *out) {
a216ed
     return false;
a216ed
 }
a216ed
 
a216ed
+static void
a216ed
+html_spacer(pcmk__output_t *out) {
a216ed
+    pcmk__output_create_xml_node(out, "br");
a216ed
+}
a216ed
+
a216ed
 pcmk__output_t *
a216ed
 pcmk__mk_html_output(char **argv) {
a216ed
     pcmk__output_t *retval = calloc(1, sizeof(pcmk__output_t));
a216ed
@@ -399,6 +404,7 @@ pcmk__mk_html_output(char **argv) {
a216ed
     retval->end_list = html_end_list;
a216ed
 
a216ed
     retval->is_quiet = html_is_quiet;
a216ed
+    retval->spacer = html_spacer;
a216ed
 
a216ed
     return retval;
a216ed
 }
a216ed
diff --git a/lib/common/output_log.c b/lib/common/output_log.c
a216ed
index fd13c89..6336fa2 100644
a216ed
--- a/lib/common/output_log.c
a216ed
+++ b/lib/common/output_log.c
a216ed
@@ -226,6 +226,11 @@ log_is_quiet(pcmk__output_t *out) {
a216ed
     return false;
a216ed
 }
a216ed
 
a216ed
+static void
a216ed
+log_spacer(pcmk__output_t *out) {
a216ed
+    /* This function intentionally left blank */
a216ed
+}
a216ed
+
a216ed
 pcmk__output_t *
a216ed
 pcmk__mk_log_output(char **argv) {
a216ed
     pcmk__output_t *retval = calloc(1, sizeof(pcmk__output_t));
a216ed
@@ -256,6 +261,7 @@ pcmk__mk_log_output(char **argv) {
a216ed
     retval->end_list = log_end_list;
a216ed
 
a216ed
     retval->is_quiet = log_is_quiet;
a216ed
+    retval->spacer = log_spacer;
a216ed
 
a216ed
     return retval;
a216ed
 }
a216ed
diff --git a/lib/common/output_text.c b/lib/common/output_text.c
a216ed
index 9b3c09a..3432505 100644
a216ed
--- a/lib/common/output_text.c
a216ed
+++ b/lib/common/output_text.c
a216ed
@@ -244,6 +244,11 @@ text_is_quiet(pcmk__output_t *out) {
a216ed
     return out->quiet;
a216ed
 }
a216ed
 
a216ed
+static void
a216ed
+text_spacer(pcmk__output_t *out) {
a216ed
+    fprintf(out->dest, "\n");
a216ed
+}
a216ed
+
a216ed
 pcmk__output_t *
a216ed
 pcmk__mk_text_output(char **argv) {
a216ed
     pcmk__output_t *retval = calloc(1, sizeof(pcmk__output_t));
a216ed
@@ -275,6 +280,7 @@ pcmk__mk_text_output(char **argv) {
a216ed
     retval->end_list = text_end_list;
a216ed
 
a216ed
     retval->is_quiet = text_is_quiet;
a216ed
+    retval->spacer = text_spacer;
a216ed
 
a216ed
     return retval;
a216ed
 }
a216ed
diff --git a/lib/common/output_xml.c b/lib/common/output_xml.c
a216ed
index 9a08d20..1710fac 100644
a216ed
--- a/lib/common/output_xml.c
a216ed
+++ b/lib/common/output_xml.c
a216ed
@@ -376,6 +376,11 @@ xml_is_quiet(pcmk__output_t *out) {
a216ed
     return false;
a216ed
 }
a216ed
 
a216ed
+static void
a216ed
+xml_spacer(pcmk__output_t *out) {
a216ed
+    /* This function intentionally left blank */
a216ed
+}
a216ed
+
a216ed
 pcmk__output_t *
a216ed
 pcmk__mk_xml_output(char **argv) {
a216ed
     pcmk__output_t *retval = calloc(1, sizeof(pcmk__output_t));
a216ed
@@ -407,6 +412,7 @@ pcmk__mk_xml_output(char **argv) {
a216ed
     retval->end_list = xml_end_list;
a216ed
 
a216ed
     retval->is_quiet = xml_is_quiet;
a216ed
+    retval->spacer = xml_spacer;
a216ed
 
a216ed
     return retval;
a216ed
 }
a216ed
diff --git a/tools/crm_mon_curses.c b/tools/crm_mon_curses.c
a216ed
index 2c092df..8a08578 100644
a216ed
--- a/tools/crm_mon_curses.c
a216ed
+++ b/tools/crm_mon_curses.c
a216ed
@@ -247,6 +247,11 @@ curses_is_quiet(pcmk__output_t *out) {
a216ed
     return out->quiet;
a216ed
 }
a216ed
 
a216ed
+static void
a216ed
+curses_spacer(pcmk__output_t *out) {
a216ed
+    addch('\n');
a216ed
+}
a216ed
+
a216ed
 pcmk__output_t *
a216ed
 crm_mon_mk_curses_output(char **argv) {
a216ed
     pcmk__output_t *retval = calloc(1, sizeof(pcmk__output_t));
a216ed
@@ -278,6 +283,7 @@ crm_mon_mk_curses_output(char **argv) {
a216ed
     retval->end_list = curses_end_list;
a216ed
 
a216ed
     retval->is_quiet = curses_is_quiet;
a216ed
+    retval->spacer = curses_spacer;
a216ed
 
a216ed
     return retval;
a216ed
 }
a216ed
-- 
a216ed
1.8.3.1
a216ed