Blame SOURCES/013-feature-set.patch

23c78e
From cd098b06db263cfb337d4b8eaf2724df66fff060 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Fri, 20 Nov 2020 14:00:36 -0500
23c78e
Subject: [PATCH 1/9] Fix: libs, tools: Be consistent with GListPtr and
23c78e
 xmlNodePtr in formatted output.
23c78e
23c78e
GListPtr should be removed from all the formatted output messages.  It
23c78e
seems like a GLib type, but it's not.  So that's weird and we should
23c78e
stop spreading uses of it around.
23c78e
23c78e
On the other hand, xmlNodePtr is a libxml type that we are already using
23c78e
sporadically.  We should be more consistent in using it.
23c78e
---
23c78e
 lib/fencing/st_output.c     | 20 ++++++------
23c78e
 lib/pacemaker/pcmk_output.c | 36 ++++++++++-----------
23c78e
 lib/pengine/bundle.c        | 18 +++++------
23c78e
 lib/pengine/clone.c         | 44 +++++++++++++-------------
23c78e
 lib/pengine/group.c         | 28 ++++++++---------
23c78e
 lib/pengine/native.c        | 20 ++++++------
23c78e
 lib/pengine/pe_output.c     | 76 ++++++++++++++++++++++-----------------------
23c78e
 tools/crm_resource_print.c  | 64 +++++++++++++++++++-------------------
23c78e
 8 files changed, 153 insertions(+), 153 deletions(-)
23c78e
23c78e
diff --git a/lib/fencing/st_output.c b/lib/fencing/st_output.c
23c78e
index 04f4b83..7c3ccef 100644
23c78e
--- a/lib/fencing/st_output.c
23c78e
+++ b/lib/fencing/st_output.c
23c78e
@@ -30,11 +30,11 @@ time_t_string(time_t when) {
23c78e
     return buf;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("failed-fencing-history", "stonith_history_t *", "GListPtr", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("failed-fencing-history", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__failed_history(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean print_spacer = va_arg(args, gboolean);
23c78e
 
23c78e
@@ -58,11 +58,11 @@ stonith__failed_history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("fencing-history", "stonith_history_t *", "GListPtr", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("fencing-history", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__history(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean print_spacer = va_arg(args, gboolean);
23c78e
 
23c78e
@@ -84,12 +84,12 @@ stonith__history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GListPtr", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__full_history(pcmk__output_t *out, va_list args) {
23c78e
     crm_exit_t history_rc G_GNUC_UNUSED = va_arg(args, crm_exit_t);
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean print_spacer = va_arg(args, gboolean);
23c78e
 
23c78e
@@ -109,12 +109,12 @@ stonith__full_history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
  
23c78e
-PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GListPtr", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__full_history_xml(pcmk__output_t *out, va_list args) {
23c78e
     crm_exit_t history_rc = va_arg(args, crm_exit_t);
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean print_spacer G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
 
23c78e
@@ -198,11 +198,11 @@ stonith__last_fenced_xml(pcmk__output_t *out, va_list args) {
23c78e
     }
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("pending-fencing-actions", "stonith_history_t *", "GListPtr", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("pending-fencing-actions", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__pending_actions(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean print_spacer = va_arg(args, gboolean);
23c78e
 
23c78e
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
23c78e
index 74a7c59..a0b12b9 100644
23c78e
--- a/lib/pacemaker/pcmk_output.c
23c78e
+++ b/lib/pacemaker/pcmk_output.c
23c78e
@@ -53,8 +53,8 @@ static int colocations_list(pcmk__output_t *out, va_list args) {
23c78e
     gboolean dependents = va_arg(args, gboolean);
23c78e
     gboolean recursive = va_arg(args, gboolean);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    GListPtr list = rsc->rsc_cons;
23c78e
+    GList *lpc = NULL;
23c78e
+    GList *list = rsc->rsc_cons;
23c78e
     bool printed_header = false;
23c78e
 
23c78e
     if (dependents) {
23c78e
@@ -133,8 +133,8 @@ static int colocations_list_xml(pcmk__output_t *out, va_list args) {
23c78e
     gboolean dependents = va_arg(args, gboolean);
23c78e
     gboolean recursive = va_arg(args, gboolean);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    GListPtr list = rsc->rsc_cons;
23c78e
+    GList *lpc = NULL;
23c78e
+    GList *list = rsc->rsc_cons;
23c78e
     bool printed_header = false;
23c78e
 
23c78e
     if (dependents) {
23c78e
@@ -220,15 +220,15 @@ PCMK__OUTPUT_ARGS("locations-list", "pe_resource_t *")
23c78e
 static int locations_list(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc G_GNUC_UNUSED = va_arg(args, pe_resource_t *);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    GListPtr list = rsc->rsc_location;
23c78e
+    GList *lpc = NULL;
23c78e
+    GList *list = rsc->rsc_location;
23c78e
 
23c78e
     out->begin_list(out, NULL, NULL, "Locations");
23c78e
 
23c78e
     for (lpc = list; lpc != NULL; lpc = lpc->next) {
23c78e
         pe__location_t *cons = lpc->data;
23c78e
 
23c78e
-        GListPtr lpc2 = NULL;
23c78e
+        GList *lpc2 = NULL;
23c78e
 
23c78e
         for (lpc2 = cons->node_list_rh; lpc2 != NULL; lpc2 = lpc2->next) {
23c78e
             pe_node_t *node = (pe_node_t *) lpc2->data;
23c78e
@@ -249,15 +249,15 @@ PCMK__OUTPUT_ARGS("locations-list", "pe_resource_t *")
23c78e
 static int locations_list_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    GListPtr list = rsc->rsc_location;
23c78e
+    GList *lpc = NULL;
23c78e
+    GList *list = rsc->rsc_location;
23c78e
 
23c78e
     pcmk__output_xml_create_parent(out, "locations", NULL);
23c78e
 
23c78e
     for (lpc = list; lpc != NULL; lpc = lpc->next) {
23c78e
         pe__location_t *cons = lpc->data;
23c78e
 
23c78e
-        GListPtr lpc2 = NULL;
23c78e
+        GList *lpc2 = NULL;
23c78e
 
23c78e
         for (lpc2 = cons->node_list_rh; lpc2 != NULL; lpc2 = lpc2->next) {
23c78e
             pe_node_t *node = (pe_node_t *) lpc2->data;
23c78e
@@ -284,9 +284,9 @@ stacks_and_constraints(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set G_GNUC_UNUSED = va_arg(args, pe_working_set_t *);
23c78e
     gboolean recursive G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    xmlNode *cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS,
23c78e
-                                               data_set->input);
23c78e
+    GList *lpc = NULL;
23c78e
+    xmlNodePtr cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS,
23c78e
+                                                 data_set->input);
23c78e
 
23c78e
     unpack_constraints(cib_constraints, data_set);
23c78e
 
23c78e
@@ -322,9 +322,9 @@ stacks_and_constraints_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
     gboolean recursive = va_arg(args, gboolean);
23c78e
 
23c78e
-    GListPtr lpc = NULL;
23c78e
-    xmlNode *cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS,
23c78e
-                                               data_set->input);
23c78e
+    GList *lpc = NULL;
23c78e
+    xmlNodePtr cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS,
23c78e
+                                                 data_set->input);
23c78e
 
23c78e
     unpack_constraints(cib_constraints, data_set);
23c78e
 
23c78e
@@ -455,11 +455,11 @@ dc_xml(pcmk__output_t *out, va_list args)
23c78e
 }
23c78e
 
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("crmadmin-node-list", "pcmk__output_t *", "xmlNode *")
23c78e
+PCMK__OUTPUT_ARGS("crmadmin-node-list", "pcmk__output_t *", "xmlNodePtr")
23c78e
 static int
23c78e
 crmadmin_node_list(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    xmlNode *xml_node = va_arg(args, xmlNode *);
23c78e
+    xmlNodePtr xml_node = va_arg(args, xmlNodePtr);
23c78e
     int found = 0;
23c78e
     xmlNode *node = NULL;
23c78e
     xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
23c78e
diff --git a/lib/pengine/bundle.c b/lib/pengine/bundle.c
23c78e
index 543f5dc..7a175a5 100644
23c78e
--- a/lib/pengine/bundle.c
23c78e
+++ b/lib/pengine/bundle.c
23c78e
@@ -1485,14 +1485,14 @@ bundle_print_xml(pe_resource_t *rsc, const char *pre_text, long options,
23c78e
     free(child_text);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__bundle_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     pe__bundle_variant_data_t *bundle_data = NULL;
23c78e
     int rc = pcmk_rc_no_output;
23c78e
@@ -1608,14 +1608,14 @@ pe__bundle_replica_output_html(pcmk__output_t *out, pe__bundle_replica_t *replic
23c78e
     pe__common_output_html(out, rsc, buffer, node, options);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__bundle_html(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     pe__bundle_variant_data_t *bundle_data = NULL;
23c78e
     char buffer[LINE_MAX];
23c78e
@@ -1750,14 +1750,14 @@ pe__bundle_replica_output_text(pcmk__output_t *out, pe__bundle_replica_t *replic
23c78e
     pe__common_output_text(out, rsc, buffer, node, options);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("bundle", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__bundle_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     pe__bundle_variant_data_t *bundle_data = NULL;
23c78e
     int rc = pcmk_rc_no_output;
23c78e
diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
23c78e
index 0708fdc..9b48d01 100644
23c78e
--- a/lib/pengine/clone.c
23c78e
+++ b/lib/pengine/clone.c
23c78e
@@ -577,16 +577,16 @@ clone_print(pe_resource_t * rsc, const char *pre_text, long options, void *print
23c78e
     free(child_text);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__clone_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
-    GListPtr gIter = rsc->children;
23c78e
+    GList *gIter = rsc->children;
23c78e
     int rc = pcmk_rc_no_output;
23c78e
     gboolean printed_header = FALSE;
23c78e
     gboolean print_everything = TRUE;
23c78e
@@ -635,23 +635,23 @@ pe__clone_xml(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     char *list_text = NULL;
23c78e
     char *stopped_list = NULL;
23c78e
     size_t list_text_len = 0;
23c78e
     size_t stopped_list_len = 0;
23c78e
 
23c78e
-    GListPtr master_list = NULL;
23c78e
-    GListPtr started_list = NULL;
23c78e
-    GListPtr gIter = rsc->children;
23c78e
+    GList *master_list = NULL;
23c78e
+    GList *started_list = NULL;
23c78e
+    GList *gIter = rsc->children;
23c78e
 
23c78e
     clone_variant_data_t *clone_data = NULL;
23c78e
     int active_instances = 0;
23c78e
@@ -751,7 +751,7 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
         }
23c78e
 
23c78e
         if (print_full) {
23c78e
-            GListPtr all = NULL;
23c78e
+            GList *all = NULL;
23c78e
 
23c78e
             /* Print every resource that's a child of this clone. */
23c78e
             all = g_list_prepend(all, strdup("*"));
23c78e
@@ -832,8 +832,8 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
         if (!pcmk_is_set(rsc->flags, pe_rsc_unique)
23c78e
             && (clone_data->clone_max > active_instances)) {
23c78e
 
23c78e
-            GListPtr nIter;
23c78e
-            GListPtr list = g_hash_table_get_values(rsc->allowed_nodes);
23c78e
+            GList *nIter;
23c78e
+            GList *list = g_hash_table_get_values(rsc->allowed_nodes);
23c78e
 
23c78e
             /* Custom stopped list for non-unique clones */
23c78e
             free(stopped_list);
23c78e
@@ -872,23 +872,23 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("clone", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__clone_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     char *list_text = NULL;
23c78e
     char *stopped_list = NULL;
23c78e
     size_t list_text_len = 0;
23c78e
     size_t stopped_list_len = 0;
23c78e
 
23c78e
-    GListPtr master_list = NULL;
23c78e
-    GListPtr started_list = NULL;
23c78e
-    GListPtr gIter = rsc->children;
23c78e
+    GList *master_list = NULL;
23c78e
+    GList *started_list = NULL;
23c78e
+    GList *gIter = rsc->children;
23c78e
 
23c78e
     clone_variant_data_t *clone_data = NULL;
23c78e
     int active_instances = 0;
23c78e
@@ -988,7 +988,7 @@ pe__clone_text(pcmk__output_t *out, va_list args)
23c78e
         }
23c78e
 
23c78e
         if (print_full) {
23c78e
-            GListPtr all = NULL;
23c78e
+            GList *all = NULL;
23c78e
 
23c78e
             /* Print every resource that's a child of this clone. */
23c78e
             all = g_list_prepend(all, strdup("*"));
23c78e
@@ -1067,8 +1067,8 @@ pe__clone_text(pcmk__output_t *out, va_list args)
23c78e
         if (!pcmk_is_set(rsc->flags, pe_rsc_unique)
23c78e
             && (clone_data->clone_max > active_instances)) {
23c78e
 
23c78e
-            GListPtr nIter;
23c78e
-            GListPtr list = g_hash_table_get_values(rsc->allowed_nodes);
23c78e
+            GList *nIter;
23c78e
+            GList *list = g_hash_table_get_values(rsc->allowed_nodes);
23c78e
 
23c78e
             /* Custom stopped list for non-unique clones */
23c78e
             free(stopped_list);
23c78e
diff --git a/lib/pengine/group.c b/lib/pengine/group.c
23c78e
index 33aa177..58c9f7c 100644
23c78e
--- a/lib/pengine/group.c
23c78e
+++ b/lib/pengine/group.c
23c78e
@@ -180,16 +180,16 @@ group_print(pe_resource_t * rsc, const char *pre_text, long options, void *print
23c78e
     free(child_text);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__group_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
-    GListPtr gIter = rsc->children;
23c78e
+    GList *gIter = rsc->children;
23c78e
     char *count = crm_itoa(g_list_length(gIter));
23c78e
 
23c78e
     int rc = pcmk_rc_no_output;
23c78e
@@ -231,14 +231,14 @@ pe__group_xml(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__group_html(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     int rc = pcmk_rc_no_output;
23c78e
     gboolean print_everything = TRUE;
23c78e
@@ -251,7 +251,7 @@ pe__group_html(pcmk__output_t *out, va_list args)
23c78e
                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id));
23c78e
 
23c78e
     if (options & pe_print_brief) {
23c78e
-        GListPtr rscs = pe__filter_rsc_list(rsc->children, only_rsc);
23c78e
+        GList *rscs = pe__filter_rsc_list(rsc->children, only_rsc);
23c78e
 
23c78e
         if (rscs != NULL) {
23c78e
             out->begin_list(out, NULL, NULL, "Resource Group: %s%s%s", rsc->id,
23c78e
@@ -265,7 +265,7 @@ pe__group_html(pcmk__output_t *out, va_list args)
23c78e
         }
23c78e
 
23c78e
     } else {
23c78e
-        for (GListPtr gIter = rsc->children; gIter; gIter = gIter->next) {
23c78e
+        for (GList *gIter = rsc->children; gIter; gIter = gIter->next) {
23c78e
             pe_resource_t *child_rsc = (pe_resource_t *) gIter->data;
23c78e
 
23c78e
             if (child_rsc->fns->is_filtered(child_rsc, only_rsc, print_everything)) {
23c78e
@@ -286,14 +286,14 @@ pe__group_html(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("group", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__group_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     int rc = pcmk_rc_no_output;
23c78e
     gboolean print_everything = TRUE;
23c78e
@@ -306,7 +306,7 @@ pe__group_text(pcmk__output_t *out, va_list args)
23c78e
                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id));
23c78e
 
23c78e
     if (options & pe_print_brief) {
23c78e
-        GListPtr rscs = pe__filter_rsc_list(rsc->children, only_rsc);
23c78e
+        GList *rscs = pe__filter_rsc_list(rsc->children, only_rsc);
23c78e
 
23c78e
         if (rscs != NULL) {
23c78e
             out->begin_list(out, NULL, NULL, "Resource Group: %s%s%s", rsc->id,
23c78e
@@ -320,7 +320,7 @@ pe__group_text(pcmk__output_t *out, va_list args)
23c78e
         }
23c78e
 
23c78e
     } else {
23c78e
-        for (GListPtr gIter = rsc->children; gIter; gIter = gIter->next) {
23c78e
+        for (GList *gIter = rsc->children; gIter; gIter = gIter->next) {
23c78e
             pe_resource_t *child_rsc = (pe_resource_t *) gIter->data;
23c78e
 
23c78e
             if (child_rsc->fns->is_filtered(child_rsc, only_rsc, print_everything)) {
23c78e
diff --git a/lib/pengine/native.c b/lib/pengine/native.c
23c78e
index 38e9350..6f27d7b 100644
23c78e
--- a/lib/pengine/native.c
23c78e
+++ b/lib/pengine/native.c
23c78e
@@ -920,14 +920,14 @@ native_print(pe_resource_t * rsc, const char *pre_text, long options, void *prin
23c78e
     common_print(rsc, pre_text, rsc_printable_id(rsc), node, options, print_data);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__resource_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node G_GNUC_UNUSED = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node G_GNUC_UNUSED = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
23c78e
     const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
23c78e
@@ -977,7 +977,7 @@ pe__resource_xml(pcmk__output_t *out, va_list args)
23c78e
     CRM_ASSERT(rc == pcmk_rc_ok);
23c78e
 
23c78e
     if (rsc->running_on != NULL) {
23c78e
-        GListPtr gIter = rsc->running_on;
23c78e
+        GList *gIter = rsc->running_on;
23c78e
 
23c78e
         for (; gIter != NULL; gIter = gIter->next) {
23c78e
             pe_node_t *node = (pe_node_t *) gIter->data;
23c78e
@@ -994,14 +994,14 @@ pe__resource_xml(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__resource_html(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node G_GNUC_UNUSED = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node G_GNUC_UNUSED = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     pe_node_t *node = pe__current_node(rsc);
23c78e
 
23c78e
@@ -1018,14 +1018,14 @@ pe__resource_html(pcmk__output_t *out, va_list args)
23c78e
     return pe__common_output_html(out, rsc, rsc_printable_id(rsc), node, options);
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GListPtr", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("primitive", "unsigned int", "pe_resource_t *", "GList *", "GList *")
23c78e
 int
23c78e
 pe__resource_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     unsigned int options = va_arg(args, unsigned int);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
-    GListPtr only_node G_GNUC_UNUSED = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node G_GNUC_UNUSED = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     pe_node_t *node = pe__current_node(rsc);
23c78e
 
23c78e
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
23c78e
index ecb5c2c..3d2fc24 100644
23c78e
--- a/lib/pengine/pe_output.c
23c78e
+++ b/lib/pengine/pe_output.c
23c78e
@@ -1013,7 +1013,7 @@ pe__failed_action_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node", "pe_node_t *", "unsigned int", "gboolean", "const char *",
23c78e
-                  "gboolean", "gboolean", "gboolean", "GListPtr", "GListPtr")
23c78e
+                  "gboolean", "gboolean", "gboolean", "GList *", "GList *")
23c78e
 int
23c78e
 pe__node_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *node = va_arg(args, pe_node_t *);
23c78e
@@ -1023,8 +1023,8 @@ pe__node_html(pcmk__output_t *out, va_list args) {
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean print_brief = va_arg(args, gboolean);
23c78e
     gboolean group_by_node = va_arg(args, gboolean);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     char *node_name = pe__node_display_name(node, print_clone_detail);
23c78e
     char *buf = crm_strdup_printf("Node: %s", node_name);
23c78e
@@ -1052,7 +1052,7 @@ pe__node_html(pcmk__output_t *out, va_list args) {
23c78e
             pcmk_create_html_node(item_node, "span", NULL, "offline", " OFFLINE");
23c78e
         }
23c78e
         if (print_brief && group_by_node) {
23c78e
-            GListPtr rscs = pe__filter_rsc_list(node->details->running_rsc, only_rsc);
23c78e
+            GList *rscs = pe__filter_rsc_list(node->details->running_rsc, only_rsc);
23c78e
 
23c78e
             if (rscs != NULL) {
23c78e
                 out->begin_list(out, NULL, NULL, NULL);
23c78e
@@ -1061,7 +1061,7 @@ pe__node_html(pcmk__output_t *out, va_list args) {
23c78e
             }
23c78e
 
23c78e
         } else if (group_by_node) {
23c78e
-            GListPtr lpc2 = NULL;
23c78e
+            GList *lpc2 = NULL;
23c78e
 
23c78e
             out->begin_list(out, NULL, NULL, NULL);
23c78e
             for (lpc2 = node->details->running_rsc; lpc2 != NULL; lpc2 = lpc2->next) {
23c78e
@@ -1081,7 +1081,7 @@ pe__node_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node", "pe_node_t *", "unsigned int", "gboolean", "const char *",
23c78e
-                  "gboolean", "gboolean", "gboolean", "GListPtr", "GListPtr")
23c78e
+                  "gboolean", "gboolean", "gboolean", "GList *", "GList *")
23c78e
 int
23c78e
 pe__node_text(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *node = va_arg(args, pe_node_t *);
23c78e
@@ -1091,8 +1091,8 @@ pe__node_text(pcmk__output_t *out, va_list args) {
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean print_brief = va_arg(args, gboolean);
23c78e
     gboolean group_by_node = va_arg(args, gboolean);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     if (full) {
23c78e
         char *node_name = pe__node_display_name(node, print_clone_detail);
23c78e
@@ -1110,7 +1110,7 @@ pe__node_text(pcmk__output_t *out, va_list args) {
23c78e
         /* If we're grouping by node, print its resources */
23c78e
         if (group_by_node) {
23c78e
             if (print_brief) {
23c78e
-                GListPtr rscs = pe__filter_rsc_list(node->details->running_rsc, only_rsc);
23c78e
+                GList *rscs = pe__filter_rsc_list(node->details->running_rsc, only_rsc);
23c78e
 
23c78e
                 if (rscs != NULL) {
23c78e
                     out->begin_list(out, NULL, NULL, "%s", buf);
23c78e
@@ -1123,7 +1123,7 @@ pe__node_text(pcmk__output_t *out, va_list args) {
23c78e
                 }
23c78e
 
23c78e
             } else {
23c78e
-                GListPtr gIter2 = NULL;
23c78e
+                GList *gIter2 = NULL;
23c78e
 
23c78e
                 out->begin_list(out, NULL, NULL, "%s", buf);
23c78e
                 out->begin_list(out, NULL, NULL, "Resources");
23c78e
@@ -1151,7 +1151,7 @@ pe__node_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node", "pe_node_t *", "unsigned int", "gboolean", "const char *",
23c78e
-                  "gboolean", "gboolean", "gboolean", "GListPtr", "GListPtr")
23c78e
+                  "gboolean", "gboolean", "gboolean", "GList *", "GList *")
23c78e
 int
23c78e
 pe__node_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *node = va_arg(args, pe_node_t *);
23c78e
@@ -1161,8 +1161,8 @@ pe__node_xml(pcmk__output_t *out, va_list args) {
23c78e
     gboolean print_clone_detail G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
     gboolean print_brief G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
     gboolean group_by_node = va_arg(args, gboolean);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
 
23c78e
     if (full) {
23c78e
         const char *node_type = "unknown";
23c78e
@@ -1200,7 +1200,7 @@ pe__node_xml(pcmk__output_t *out, va_list args) {
23c78e
         }
23c78e
 
23c78e
         if (group_by_node) {
23c78e
-            GListPtr lpc = NULL;
23c78e
+            GList *lpc = NULL;
23c78e
 
23c78e
             for (lpc = node->details->running_rsc; lpc != NULL; lpc = lpc->next) {
23c78e
                 pe_resource_t *rsc = (pe_resource_t *) lpc->data;
23c78e
@@ -1401,12 +1401,12 @@ pe__node_attribute_xml(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("node-list", "GListPtr", "GListPtr", "GListPtr", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("node-list", "GList *", "GList *", "GList *", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
 int
23c78e
 pe__node_list_html(pcmk__output_t *out, va_list args) {
23c78e
-    GListPtr nodes = va_arg(args, GListPtr);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *nodes = va_arg(args, GList *);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
     unsigned int print_opts = va_arg(args, unsigned int);
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean print_brief = va_arg(args, gboolean);
23c78e
@@ -1414,7 +1414,7 @@ pe__node_list_html(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
     int rc = pcmk_rc_no_output;
23c78e
 
23c78e
-    for (GListPtr gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
+    for (GList *gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
         pe_node_t *node = (pe_node_t *) gIter->data;
23c78e
 
23c78e
         if (!pcmk__str_in_list(only_node, node->details->uname)) {
23c78e
@@ -1431,12 +1431,12 @@ pe__node_list_html(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("node-list", "GListPtr", "GListPtr", "GListPtr", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("node-list", "GList *", "GList *", "GList *", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
 int
23c78e
 pe__node_list_text(pcmk__output_t *out, va_list args) {
23c78e
-    GListPtr nodes = va_arg(args, GListPtr);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *nodes = va_arg(args, GList *);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
     unsigned int print_opts = va_arg(args, unsigned int);
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean print_brief = va_arg(args, gboolean);
23c78e
@@ -1457,7 +1457,7 @@ pe__node_list_text(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
     int rc = pcmk_rc_no_output;
23c78e
 
23c78e
-    for (GListPtr gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
+    for (GList *gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
         pe_node_t *node = (pe_node_t *) gIter->data;
23c78e
         const char *node_mode = NULL;
23c78e
         char *node_name = pe__node_display_name(node, print_clone_detail);
23c78e
@@ -1570,19 +1570,19 @@ pe__node_list_text(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("node-list", "GListPtr", "GListPtr", "GListPtr", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("node-list", "GList *", "GList *", "GList *", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
 int
23c78e
 pe__node_list_xml(pcmk__output_t *out, va_list args) {
23c78e
-    GListPtr nodes = va_arg(args, GListPtr);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *nodes = va_arg(args, GList *);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
     unsigned int print_opts = va_arg(args, unsigned int);
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean print_brief = va_arg(args, gboolean);
23c78e
     gboolean group_by_node = va_arg(args, gboolean);
23c78e
 
23c78e
     out->begin_list(out, NULL, NULL, "nodes");
23c78e
-    for (GListPtr gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
+    for (GList *gIter = nodes; gIter != NULL; gIter = gIter->next) {
23c78e
         pe_node_t *node = (pe_node_t *) gIter->data;
23c78e
 
23c78e
         if (!pcmk__str_in_list(only_node, node->details->uname)) {
23c78e
@@ -1597,10 +1597,10 @@ pe__node_list_xml(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("op-history", "struct xmlNode *", "const char *", "const char *", "int", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("op-history", "xmlNodePtr", "const char *", "const char *", "int", "gboolean")
23c78e
 int
23c78e
 pe__op_history_text(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNode *xml_op = va_arg(args, xmlNode *);
23c78e
+    xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
     const char *task = va_arg(args, const char *);
23c78e
     const char *interval_ms_s = va_arg(args, const char *);
23c78e
     int rc = va_arg(args, int);
23c78e
@@ -1614,10 +1614,10 @@ pe__op_history_text(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("op-history", "struct xmlNode *", "const char *", "const char *", "int", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("op-history", "xmlNodePtr", "const char *", "const char *", "int", "gboolean")
23c78e
 int
23c78e
 pe__op_history_xml(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNode *xml_op = va_arg(args, xmlNode *);
23c78e
+    xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
     const char *task = va_arg(args, const char *);
23c78e
     const char *interval_ms_s = va_arg(args, const char *);
23c78e
     int rc = va_arg(args, int);
23c78e
@@ -1760,7 +1760,7 @@ pe__resource_history_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("resource-list", "pe_working_set_t *", "unsigned int", "gboolean",
23c78e
-                  "gboolean", "gboolean", "gboolean", "GListPtr", "GListPtr", "gboolean")
23c78e
+                  "gboolean", "gboolean", "gboolean", "GList *", "GList *", "gboolean")
23c78e
 int
23c78e
 pe__resource_list(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
@@ -1770,11 +1770,11 @@ pe__resource_list(pcmk__output_t *out, va_list args)
23c78e
     gboolean inactive_resources = va_arg(args, gboolean);
23c78e
     gboolean brief_output = va_arg(args, gboolean);
23c78e
     gboolean print_summary = va_arg(args, gboolean);
23c78e
-    GListPtr only_node = va_arg(args, GListPtr);
23c78e
-    GListPtr only_rsc = va_arg(args, GListPtr);
23c78e
+    GList *only_node = va_arg(args, GList *);
23c78e
+    GList *only_rsc = va_arg(args, GList *);
23c78e
     gboolean print_spacer = va_arg(args, gboolean);
23c78e
 
23c78e
-    GListPtr rsc_iter;
23c78e
+    GList *rsc_iter;
23c78e
     int rc = pcmk_rc_no_output;
23c78e
 
23c78e
     /* If we already showed active resources by node, and
23c78e
@@ -1798,7 +1798,7 @@ pe__resource_list(pcmk__output_t *out, va_list args)
23c78e
     /* If we haven't already printed resources grouped by node,
23c78e
      * and brief output was requested, print resource summary */
23c78e
     if (brief_output && !group_by_node) {
23c78e
-        GListPtr rscs = pe__filter_rsc_list(data_set->resources, only_rsc);
23c78e
+        GList *rscs = pe__filter_rsc_list(data_set->resources, only_rsc);
23c78e
 
23c78e
         pe__rscs_brief_output(out, rscs, print_opts, inactive_resources);
23c78e
         g_list_free(rscs);
23c78e
diff --git a/tools/crm_resource_print.c b/tools/crm_resource_print.c
23c78e
index cb06879..4cb78b5 100644
23c78e
--- a/tools/crm_resource_print.c
23c78e
+++ b/tools/crm_resource_print.c
23c78e
@@ -247,9 +247,9 @@ resource_check_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *parent = uber_parent(checks->rsc);
23c78e
     int rc = pcmk_rc_no_output;
23c78e
 
23c78e
-    xmlNode *node = pcmk__output_create_xml_node(out, "check",
23c78e
-                                                 "id", parent->id,
23c78e
-                                                 NULL);
23c78e
+    xmlNodePtr node = pcmk__output_create_xml_node(out, "check",
23c78e
+                                                   "id", parent->id,
23c78e
+                                                   NULL);
23c78e
 
23c78e
     if (pcmk_is_set(checks->flags, rsc_remain_stopped)) {
23c78e
         crm_xml_add(node, "remain_stopped", "true");
23c78e
@@ -270,11 +270,11 @@ resource_check_xml(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-search", "GListPtr", "pe_resource_t *", "gchar *")
23c78e
+PCMK__OUTPUT_ARGS("resource-search", "GList *", "pe_resource_t *", "gchar *")
23c78e
 static int
23c78e
 resource_search_default(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    GListPtr nodes = va_arg(args, GListPtr);
23c78e
+    GList *nodes = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     gchar *requested_name = va_arg(args, gchar *);
23c78e
 
23c78e
@@ -286,7 +286,7 @@ resource_search_default(pcmk__output_t *out, va_list args)
23c78e
         return rc;
23c78e
     }
23c78e
 
23c78e
-    for (GListPtr lpc = nodes; lpc != NULL; lpc = lpc->next) {
23c78e
+    for (GList *lpc = nodes; lpc != NULL; lpc = lpc->next) {
23c78e
         pe_node_t *node = (pe_node_t *) lpc->data;
23c78e
 
23c78e
         if (!printed) {
23c78e
@@ -316,11 +316,11 @@ resource_search_default(pcmk__output_t *out, va_list args)
23c78e
 }
23c78e
 
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-search", "GListPtr", "pe_resource_t *", "gchar *")
23c78e
+PCMK__OUTPUT_ARGS("resource-search", "GList *", "pe_resource_t *", "gchar *")
23c78e
 static int
23c78e
 resource_search_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    GListPtr nodes = va_arg(args, GListPtr);
23c78e
+    GList *nodes = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     gchar *requested_name = va_arg(args, gchar *);
23c78e
 
23c78e
@@ -328,9 +328,9 @@ resource_search_xml(pcmk__output_t *out, va_list args)
23c78e
                                    "resource", requested_name,
23c78e
                                    NULL);
23c78e
 
23c78e
-    for (GListPtr lpc = nodes; lpc != NULL; lpc = lpc->next) {
23c78e
+    for (GList *lpc = nodes; lpc != NULL; lpc = lpc->next) {
23c78e
         pe_node_t *node = (pe_node_t *) lpc->data;
23c78e
-        xmlNode *sub_node = pcmk__output_create_xml_text_node(out, "node", node->details->uname);
23c78e
+        xmlNodePtr sub_node = pcmk__output_create_xml_text_node(out, "node", node->details->uname);
23c78e
 
23c78e
         if (!pe_rsc_is_clone(rsc) && rsc->fns->state(rsc, TRUE) == RSC_ROLE_MASTER) {
23c78e
             crm_xml_add(sub_node, "state", "promoted");
23c78e
@@ -340,13 +340,13 @@ resource_search_xml(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GListPtr", "pe_resource_t *",
23c78e
+PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GList *", "pe_resource_t *",
23c78e
                   "pe_node_t *")
23c78e
 static int
23c78e
 resource_why_default(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     cib_t *cib_conn = va_arg(args, cib_t *);
23c78e
-    GListPtr resources = va_arg(args, GListPtr);
23c78e
+    GList *resources = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     pe_node_t *node = va_arg(args, pe_node_t *);
23c78e
 
23c78e
@@ -355,8 +355,8 @@ resource_why_default(pcmk__output_t *out, va_list args)
23c78e
     out->begin_list(out, NULL, NULL, "Resource Reasons");
23c78e
 
23c78e
     if ((rsc == NULL) && (host_uname == NULL)) {
23c78e
-        GListPtr lpc = NULL;
23c78e
-        GListPtr hosts = NULL;
23c78e
+        GList *lpc = NULL;
23c78e
+        GList *hosts = NULL;
23c78e
 
23c78e
         for (lpc = resources; lpc != NULL; lpc = lpc->next) {
23c78e
             pe_resource_t *rsc = (pe_resource_t *) lpc->data;
23c78e
@@ -386,10 +386,10 @@ resource_why_default(pcmk__output_t *out, va_list args)
23c78e
 
23c78e
     } else if ((rsc == NULL) && (host_uname != NULL)) {
23c78e
         const char* host_uname =  node->details->uname;
23c78e
-        GListPtr allResources = node->details->allocated_rsc;
23c78e
-        GListPtr activeResources = node->details->running_rsc;
23c78e
-        GListPtr unactiveResources = pcmk__subtract_lists(allResources, activeResources, (GCompareFunc) strcmp);
23c78e
-        GListPtr lpc = NULL;
23c78e
+        GList *allResources = node->details->allocated_rsc;
23c78e
+        GList *activeResources = node->details->running_rsc;
23c78e
+        GList *unactiveResources = pcmk__subtract_lists(allResources, activeResources, (GCompareFunc) strcmp);
23c78e
+        GList *lpc = NULL;
23c78e
 
23c78e
         for (lpc = activeResources; lpc != NULL; lpc = lpc->next) {
23c78e
             pe_resource_t *rsc = (pe_resource_t *) lpc->data;
23c78e
@@ -410,7 +410,7 @@ resource_why_default(pcmk__output_t *out, va_list args)
23c78e
         g_list_free(unactiveResources);
23c78e
 
23c78e
     } else if ((rsc != NULL) && (host_uname == NULL)) {
23c78e
-        GListPtr hosts = NULL;
23c78e
+        GList *hosts = NULL;
23c78e
 
23c78e
         rsc->fns->location(rsc, &hosts, TRUE);
23c78e
         out->list_item(out, "reason", "Resource %s is %srunning",
23c78e
@@ -423,23 +423,23 @@ resource_why_default(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GListPtr", "pe_resource_t *",
23c78e
+PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GList *", "pe_resource_t *",
23c78e
                   "pe_node_t *")
23c78e
 static int
23c78e
 resource_why_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     cib_t *cib_conn = va_arg(args, cib_t *);
23c78e
-    GListPtr resources = va_arg(args, GListPtr);
23c78e
+    GList *resources = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     pe_node_t *node = va_arg(args, pe_node_t *);
23c78e
 
23c78e
     const char *host_uname = (node == NULL)? NULL : node->details->uname;
23c78e
 
23c78e
-    xmlNode *xml_node = pcmk__output_xml_create_parent(out, "reason", NULL);
23c78e
+    xmlNodePtr xml_node = pcmk__output_xml_create_parent(out, "reason", NULL);
23c78e
 
23c78e
     if ((rsc == NULL) && (host_uname == NULL)) {
23c78e
-        GListPtr lpc = NULL;
23c78e
-        GListPtr hosts = NULL;
23c78e
+        GList *lpc = NULL;
23c78e
+        GList *hosts = NULL;
23c78e
 
23c78e
         pcmk__output_xml_create_parent(out, "resources", NULL);
23c78e
 
23c78e
@@ -470,10 +470,10 @@ resource_why_xml(pcmk__output_t *out, va_list args)
23c78e
 
23c78e
     } else if ((rsc == NULL) && (host_uname != NULL)) {
23c78e
         const char* host_uname =  node->details->uname;
23c78e
-        GListPtr allResources = node->details->allocated_rsc;
23c78e
-        GListPtr activeResources = node->details->running_rsc;
23c78e
-        GListPtr unactiveResources = pcmk__subtract_lists(allResources, activeResources, (GCompareFunc) strcmp);
23c78e
-        GListPtr lpc = NULL;
23c78e
+        GList *allResources = node->details->allocated_rsc;
23c78e
+        GList *activeResources = node->details->running_rsc;
23c78e
+        GList *unactiveResources = pcmk__subtract_lists(allResources, activeResources, (GCompareFunc) strcmp);
23c78e
+        GList *lpc = NULL;
23c78e
 
23c78e
         pcmk__output_xml_create_parent(out, "resources", NULL);
23c78e
 
23c78e
@@ -509,7 +509,7 @@ resource_why_xml(pcmk__output_t *out, va_list args)
23c78e
         g_list_free(unactiveResources);
23c78e
 
23c78e
     } else if ((rsc != NULL) && (host_uname == NULL)) {
23c78e
-        GListPtr hosts = NULL;
23c78e
+        GList *hosts = NULL;
23c78e
 
23c78e
         rsc->fns->location(rsc, &hosts, TRUE);
23c78e
         crm_xml_add(xml_node, "running", pcmk__btoa(hosts != NULL));
23c78e
@@ -532,10 +532,10 @@ add_resource_name(pcmk__output_t *out, pe_resource_t *rsc) {
23c78e
     }
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-names-list", "GListPtr")
23c78e
+PCMK__OUTPUT_ARGS("resource-names-list", "GList *")
23c78e
 static int
23c78e
 resource_names(pcmk__output_t *out, va_list args) {
23c78e
-    GListPtr resources = va_arg(args, GListPtr);
23c78e
+    GList *resources = va_arg(args, GList *);
23c78e
 
23c78e
     if (resources == NULL) {
23c78e
         out->err(out, "NO resources configured\n");
23c78e
@@ -544,7 +544,7 @@ resource_names(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
     out->begin_list(out, NULL, NULL, "Resource Names");
23c78e
 
23c78e
-    for (GListPtr lpc = resources; lpc != NULL; lpc = lpc->next) {
23c78e
+    for (GList *lpc = resources; lpc != NULL; lpc = lpc->next) {
23c78e
         pe_resource_t *rsc = (pe_resource_t *) lpc->data;
23c78e
         add_resource_name(out, rsc);
23c78e
     }
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 2075e40607d4a73617a079163cb7c6a2301b7d86 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Mon, 9 Nov 2020 10:41:34 -0500
23c78e
Subject: [PATCH 2/9] Fix: libpacemaker: Remove some G_GNUC_UNUSED references.
23c78e
23c78e
These variables are, in fact, being used.
23c78e
---
23c78e
 lib/pacemaker/pcmk_output.c | 8 ++++----
23c78e
 1 file changed, 4 insertions(+), 4 deletions(-)
23c78e
23c78e
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
23c78e
index a0b12b9..a2bc931 100644
23c78e
--- a/lib/pacemaker/pcmk_output.c
23c78e
+++ b/lib/pacemaker/pcmk_output.c
23c78e
@@ -218,7 +218,7 @@ static int colocations_list_xml(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("locations-list", "pe_resource_t *")
23c78e
 static int locations_list(pcmk__output_t *out, va_list args) {
23c78e
-    pe_resource_t *rsc G_GNUC_UNUSED = va_arg(args, pe_resource_t *);
23c78e
+    pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
 
23c78e
     GList *lpc = NULL;
23c78e
     GList *list = rsc->rsc_location;
23c78e
@@ -280,9 +280,9 @@ static int locations_list_xml(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("stacks-constraints", "pe_resource_t *", "pe_working_set_t *", "gboolean")
23c78e
 static int
23c78e
 stacks_and_constraints(pcmk__output_t *out, va_list args) {
23c78e
-    pe_resource_t *rsc G_GNUC_UNUSED = va_arg(args, pe_resource_t *);
23c78e
-    pe_working_set_t *data_set G_GNUC_UNUSED = va_arg(args, pe_working_set_t *);
23c78e
-    gboolean recursive G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
+    pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
+    pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
+    gboolean recursive = va_arg(args, gboolean);
23c78e
 
23c78e
     GList *lpc = NULL;
23c78e
     xmlNodePtr cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS,
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 578f7a22fd75b50fce21de474d6b373146a00666 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Fri, 20 Nov 2020 16:20:23 -0500
23c78e
Subject: [PATCH 3/9] Fix: libs, tools: Rearrange formatted output args
23c78e
 popping.
23c78e
23c78e
For consistency, move all the va_args stuff to the beginning of each
23c78e
function, and then declare other variables after that.
23c78e
---
23c78e
 lib/pacemaker/pcmk_output.c |  1 +
23c78e
 lib/pengine/pe_output.c     | 37 ++++++++++++++++++++-----------------
23c78e
 tools/crm_mon_curses.c      |  1 +
23c78e
 3 files changed, 22 insertions(+), 17 deletions(-)
23c78e
23c78e
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
23c78e
index a2bc931..deb1fe5 100644
23c78e
--- a/lib/pacemaker/pcmk_output.c
23c78e
+++ b/lib/pacemaker/pcmk_output.c
23c78e
@@ -460,6 +460,7 @@ static int
23c78e
 crmadmin_node_list(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     xmlNodePtr xml_node = va_arg(args, xmlNodePtr);
23c78e
+
23c78e
     int found = 0;
23c78e
     xmlNode *node = NULL;
23c78e
     xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
23c78e
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
23c78e
index 3d2fc24..a7118a4 100644
23c78e
--- a/lib/pengine/pe_output.c
23c78e
+++ b/lib/pengine/pe_output.c
23c78e
@@ -216,8 +216,8 @@ pe__cluster_summary(pcmk__output_t *out, va_list args) {
23c78e
     gboolean show_times = va_arg(args, gboolean);
23c78e
     gboolean show_counts = va_arg(args, gboolean);
23c78e
     gboolean show_options = va_arg(args, gboolean);
23c78e
-    int rc = pcmk_rc_no_output;
23c78e
 
23c78e
+    int rc = pcmk_rc_no_output;
23c78e
     const char *stack_s = get_cluster_stack(data_set);
23c78e
 
23c78e
     if (show_stack) {
23c78e
@@ -282,8 +282,8 @@ pe__cluster_summary_html(pcmk__output_t *out, va_list args) {
23c78e
     gboolean show_times = va_arg(args, gboolean);
23c78e
     gboolean show_counts = va_arg(args, gboolean);
23c78e
     gboolean show_options = va_arg(args, gboolean);
23c78e
-    int rc = pcmk_rc_no_output;
23c78e
 
23c78e
+    int rc = pcmk_rc_no_output;
23c78e
     const char *stack_s = get_cluster_stack(data_set);
23c78e
 
23c78e
     if (show_stack) {
23c78e
@@ -487,14 +487,14 @@ pe__ban_xml(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("cluster-counts", "unsigned int", "int", "int", "int")
23c78e
 int
23c78e
 pe__cluster_counts_html(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr nodes_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
-    xmlNodePtr resources_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
-
23c78e
     unsigned int nnodes = va_arg(args, unsigned int);
23c78e
     int nresources = va_arg(args, int);
23c78e
     int ndisabled = va_arg(args, int);
23c78e
     int nblocked = va_arg(args, int);
23c78e
 
23c78e
+    xmlNodePtr nodes_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+    xmlNodePtr resources_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+
23c78e
     char *nnodes_str = crm_strdup_printf("%d node%s configured",
23c78e
                                          nnodes, pcmk__plural_s(nnodes));
23c78e
 
23c78e
@@ -583,14 +583,14 @@ pe__cluster_counts_text(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("cluster-counts", "unsigned int", "int", "int", "int")
23c78e
 int
23c78e
 pe__cluster_counts_xml(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr nodes_node = pcmk__output_create_xml_node(out, "nodes_configured", NULL);
23c78e
-    xmlNodePtr resources_node = pcmk__output_create_xml_node(out, "resources_configured", NULL);
23c78e
-
23c78e
     unsigned int nnodes = va_arg(args, unsigned int);
23c78e
     int nresources = va_arg(args, int);
23c78e
     int ndisabled = va_arg(args, int);
23c78e
     int nblocked = va_arg(args, int);
23c78e
 
23c78e
+    xmlNodePtr nodes_node = pcmk__output_create_xml_node(out, "nodes_configured", NULL);
23c78e
+    xmlNodePtr resources_node = pcmk__output_create_xml_node(out, "resources_configured", NULL);
23c78e
+
23c78e
     char *s = crm_itoa(nnodes);
23c78e
     crm_xml_add(nodes_node, "number", s);
23c78e
     free(s);
23c78e
@@ -613,13 +613,13 @@ pe__cluster_counts_xml(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("cluster-dc", "pe_node_t *", "const char *", "const char *", "char *")
23c78e
 int
23c78e
 pe__cluster_dc_html(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
-
23c78e
     pe_node_t *dc = va_arg(args, pe_node_t *);
23c78e
     const char *quorum = va_arg(args, const char *);
23c78e
     const char *dc_version_s = va_arg(args, const char *);
23c78e
     char *dc_name = va_arg(args, char *);
23c78e
 
23c78e
+    xmlNodePtr node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+
23c78e
     pcmk_create_html_node(node, "span", NULL, "bold", "Current DC: ");
23c78e
 
23c78e
     if (dc) {
23c78e
@@ -820,6 +820,7 @@ PCMK__OUTPUT_ARGS("cluster-options", "pe_working_set_t *")
23c78e
 int
23c78e
 pe__cluster_options_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
+
23c78e
     const char *no_quorum_policy = NULL;
23c78e
 
23c78e
     switch (data_set->no_quorum_policy) {
23c78e
@@ -857,9 +858,10 @@ pe__cluster_options_xml(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("cluster-stack", "const char *")
23c78e
 int
23c78e
 pe__cluster_stack_html(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
     const char *stack_s = va_arg(args, const char *);
23c78e
 
23c78e
+    xmlNodePtr node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+
23c78e
     pcmk_create_html_node(node, "span", NULL, "bold", "Stack: ");
23c78e
     pcmk_create_html_node(node, "span", NULL, NULL, stack_s);
23c78e
 
23c78e
@@ -870,6 +872,7 @@ PCMK__OUTPUT_ARGS("cluster-stack", "const char *")
23c78e
 int
23c78e
 pe__cluster_stack_text(pcmk__output_t *out, va_list args) {
23c78e
     const char *stack_s = va_arg(args, const char *);
23c78e
+
23c78e
     out->list_item(out, "Stack", "%s", stack_s);
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
@@ -889,14 +892,14 @@ pe__cluster_stack_xml(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("cluster-times", "const char *", "const char *", "const char *", "const char *")
23c78e
 int
23c78e
 pe__cluster_times_html(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr updated_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
-    xmlNodePtr changed_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
-
23c78e
     const char *last_written = va_arg(args, const char *);
23c78e
     const char *user = va_arg(args, const char *);
23c78e
     const char *client = va_arg(args, const char *);
23c78e
     const char *origin = va_arg(args, const char *);
23c78e
 
23c78e
+    xmlNodePtr updated_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+    xmlNodePtr changed_node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
+
23c78e
     char *buf = last_changed_string(last_written, user, client, origin);
23c78e
 
23c78e
     pcmk_create_html_node(updated_node, "span", NULL, "bold", "Last updated: ");
23c78e
@@ -952,6 +955,7 @@ PCMK__OUTPUT_ARGS("failed-action", "xmlNodePtr")
23c78e
 int
23c78e
 pe__failed_action_text(pcmk__output_t *out, va_list args) {
23c78e
     xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
+
23c78e
     char *s = failed_action_string(xml_op);
23c78e
 
23c78e
     out->list_item(out, NULL, "%s", s);
23c78e
@@ -1229,7 +1233,6 @@ pe__node_attribute_text(pcmk__output_t *out, va_list args) {
23c78e
     gboolean add_extra = va_arg(args, gboolean);
23c78e
     int expected_score = va_arg(args, int);
23c78e
 
23c78e
-
23c78e
     if (add_extra) {
23c78e
         int v = crm_parse_int(value, "0");
23c78e
 
23c78e
@@ -1904,10 +1907,10 @@ pe__ticket_text(pcmk__output_t *out, va_list args) {
23c78e
 PCMK__OUTPUT_ARGS("ticket", "pe_ticket_t *")
23c78e
 int
23c78e
 pe__ticket_xml(pcmk__output_t *out, va_list args) {
23c78e
-    xmlNodePtr node = NULL;
23c78e
-
23c78e
     pe_ticket_t *ticket = va_arg(args, pe_ticket_t *);
23c78e
 
23c78e
+    xmlNodePtr node = NULL;
23c78e
+
23c78e
     node = pcmk__output_create_xml_node(out, "ticket",
23c78e
                                         "id", ticket->id,
23c78e
                                         "status", ticket->granted ? "granted" : "revoked",
23c78e
diff --git a/tools/crm_mon_curses.c b/tools/crm_mon_curses.c
23c78e
index 9cf28dc..869c7f3 100644
23c78e
--- a/tools/crm_mon_curses.c
23c78e
+++ b/tools/crm_mon_curses.c
23c78e
@@ -369,6 +369,7 @@ PCMK__OUTPUT_ARGS("maint-mode", "unsigned long long int")
23c78e
 static int
23c78e
 cluster_maint_mode_console(pcmk__output_t *out, va_list args) {
23c78e
     unsigned long long flags = va_arg(args, unsigned long long);
23c78e
+
23c78e
     int rc;
23c78e
 
23c78e
     if (pcmk_is_set(flags, pe_flag_maintenance_mode)) {
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 7a26a80bc7983f79a69c3548a635bf88c031beb7 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Mon, 9 Nov 2020 12:30:19 -0500
23c78e
Subject: [PATCH 4/9] Fix: libs: Remove extra whitespace in list_item calls.
23c78e
23c78e
---
23c78e
 cts/cli/regression.crm_mon.exp | 50 +++++++++++++++++++++---------------------
23c78e
 lib/pengine/clone.c            | 10 ++++-----
23c78e
 lib/pengine/native.c           |  6 ++---
23c78e
 lib/pengine/pe_output.c        |  4 ++--
23c78e
 4 files changed, 35 insertions(+), 35 deletions(-)
23c78e
23c78e
diff --git a/cts/cli/regression.crm_mon.exp b/cts/cli/regression.crm_mon.exp
23c78e
index e9f36ad..cf7d28e 100644
23c78e
--- a/cts/cli/regression.crm_mon.exp
23c78e
+++ b/cts/cli/regression.crm_mon.exp
23c78e
@@ -480,13 +480,13 @@ Node List:
23c78e
   * Online: [ cluster01 cluster02 ]
23c78e
 
23c78e
 Active Resources:
23c78e
-  *  1	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
-  *  1	(stonith:fence_xvm):	Active cluster01
23c78e
+  * 1	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
+  * 1	(stonith:fence_xvm):	Active cluster01
23c78e
   * Clone Set: ping-clone [ping]:
23c78e
     * Started: [ cluster01 cluster02 ]
23c78e
   * Resource Group: exim-group:
23c78e
-    *  1/1	(lsb:exim):	Active cluster02
23c78e
-    *  1/1	(ocf::heartbeat:IPaddr):	Active cluster02
23c78e
+    * 1/1	(lsb:exim):	Active cluster02
23c78e
+    * 1/1	(ocf::heartbeat:IPaddr):	Active cluster02
23c78e
   * Clone Set: mysql-clone-group [mysql-group]:
23c78e
     * Started: [ cluster01 cluster02 ]
23c78e
 
23c78e
@@ -609,16 +609,16 @@ Cluster Summary:
23c78e
 Node List:
23c78e
   * Node cluster01: online:
23c78e
     * Resources:
23c78e
-      *  1	(lsb:mysql-proxy):	Active 
23c78e
-      *  1	(ocf::pacemaker:ping):	Active 
23c78e
-      *  1	(stonith:fence_xvm):	Active 
23c78e
+      * 1	(lsb:mysql-proxy):	Active 
23c78e
+      * 1	(ocf::pacemaker:ping):	Active 
23c78e
+      * 1	(stonith:fence_xvm):	Active 
23c78e
   * Node cluster02: online:
23c78e
     * Resources:
23c78e
-      *  1	(lsb:exim):	Active 
23c78e
-      *  1	(lsb:mysql-proxy):	Active 
23c78e
-      *  1	(ocf::heartbeat:IPaddr):	Active 
23c78e
-      *  1	(ocf::pacemaker:Dummy):	Active 
23c78e
-      *  1	(ocf::pacemaker:ping):	Active 
23c78e
+      * 1	(lsb:exim):	Active 
23c78e
+      * 1	(lsb:mysql-proxy):	Active 
23c78e
+      * 1	(ocf::heartbeat:IPaddr):	Active 
23c78e
+      * 1	(ocf::pacemaker:Dummy):	Active 
23c78e
+      * 1	(ocf::pacemaker:ping):	Active 
23c78e
 
23c78e
 Node Attributes:
23c78e
   * Node: cluster01:
23c78e
@@ -2857,7 +2857,7 @@ Node List:
23c78e
   * GuestOnline: [ httpd-bundle-0@cluster02 httpd-bundle-1@cluster01 ]
23c78e
 
23c78e
 Full List of Resources:
23c78e
-  *  1/1	(stonith:fence_xvm):	Active cluster01
23c78e
+  * 1/1	(stonith:fence_xvm):	Active cluster01
23c78e
   * Clone Set: ping-clone [ping]:
23c78e
     * Started: [ cluster01 ]
23c78e
     * Stopped: [ cluster02 ]
23c78e
@@ -2865,7 +2865,7 @@ Full List of Resources:
23c78e
     * httpd-bundle-0 (192.168.122.131)	(ocf::heartbeat:apache):	 Started cluster02
23c78e
     * httpd-bundle-1 (192.168.122.132)	(ocf::heartbeat:apache):	 Stopped cluster01
23c78e
   * Resource Group: partially-active-group:
23c78e
-    *  1/2	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
+    * 1/2	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
 
23c78e
 Node Attributes:
23c78e
   * Node: cluster01:
23c78e
@@ -2919,20 +2919,20 @@ Cluster Summary:
23c78e
 Node List:
23c78e
   * Node cluster01: online:
23c78e
     * Resources:
23c78e
-      *  1	(ocf::heartbeat:IPaddr2):	Active 
23c78e
-      *  1	(ocf::heartbeat:docker):	Active 
23c78e
-      *  1	(ocf::pacemaker:ping):	Active 
23c78e
-      *  1	(ocf::pacemaker:remote):	Active 
23c78e
-      *  1	(stonith:fence_xvm):	Active 
23c78e
+      * 1	(ocf::heartbeat:IPaddr2):	Active 
23c78e
+      * 1	(ocf::heartbeat:docker):	Active 
23c78e
+      * 1	(ocf::pacemaker:ping):	Active 
23c78e
+      * 1	(ocf::pacemaker:remote):	Active 
23c78e
+      * 1	(stonith:fence_xvm):	Active 
23c78e
   * Node cluster02: online:
23c78e
     * Resources:
23c78e
-      *  1	(ocf::heartbeat:IPaddr2):	Active 
23c78e
-      *  1	(ocf::heartbeat:docker):	Active 
23c78e
-      *  1	(ocf::pacemaker:Dummy):	Active 
23c78e
-      *  1	(ocf::pacemaker:remote):	Active 
23c78e
+      * 1	(ocf::heartbeat:IPaddr2):	Active 
23c78e
+      * 1	(ocf::heartbeat:docker):	Active 
23c78e
+      * 1	(ocf::pacemaker:Dummy):	Active 
23c78e
+      * 1	(ocf::pacemaker:remote):	Active 
23c78e
   * GuestNode httpd-bundle-0@cluster02: online:
23c78e
     * Resources:
23c78e
-      *  1	(ocf::heartbeat:apache):	Active 
23c78e
+      * 1	(ocf::heartbeat:apache):	Active 
23c78e
 
23c78e
 Inactive Resources:
23c78e
   * Clone Set: ping-clone [ping]:
23c78e
@@ -2942,7 +2942,7 @@ Inactive Resources:
23c78e
     * httpd-bundle-0 (192.168.122.131)	(ocf::heartbeat:apache):	 Started cluster02
23c78e
     * httpd-bundle-1 (192.168.122.132)	(ocf::heartbeat:apache):	 Stopped cluster01
23c78e
   * Resource Group: partially-active-group:
23c78e
-    *  1/2	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
+    * 1/2	(ocf::pacemaker:Dummy):	Active cluster02
23c78e
 
23c78e
 Node Attributes:
23c78e
   * Node: cluster01:
23c78e
diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
23c78e
index 9b48d01..9e98178 100644
23c78e
--- a/lib/pengine/clone.c
23c78e
+++ b/lib/pengine/clone.c
23c78e
@@ -781,7 +781,7 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
     }
23c78e
 
23c78e
     if (list_text != NULL) {
23c78e
-        out->list_item(out, NULL, " Masters: [ %s ]", list_text);
23c78e
+        out->list_item(out, NULL, "Masters: [ %s ]", list_text);
23c78e
         g_list_free(master_list);
23c78e
         free(list_text);
23c78e
         list_text = NULL;
23c78e
@@ -806,13 +806,13 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
             enum rsc_role_e role = configured_role(rsc);
23c78e
 
23c78e
             if(role == RSC_ROLE_SLAVE) {
23c78e
-                out->list_item(out, NULL, " Slaves (target-role): [ %s ]", list_text);
23c78e
+                out->list_item(out, NULL, "Slaves (target-role): [ %s ]", list_text);
23c78e
             } else {
23c78e
-                out->list_item(out, NULL, " Slaves: [ %s ]", list_text);
23c78e
+                out->list_item(out, NULL, "Slaves: [ %s ]", list_text);
23c78e
             }
23c78e
 
23c78e
         } else {
23c78e
-            out->list_item(out, NULL, " Started: [ %s ]", list_text);
23c78e
+            out->list_item(out, NULL, "Started: [ %s ]", list_text);
23c78e
         }
23c78e
 
23c78e
         g_list_free(started_list);
23c78e
@@ -861,7 +861,7 @@ pe__clone_html(pcmk__output_t *out, va_list args)
23c78e
         }
23c78e
 
23c78e
         if (stopped_list != NULL) {
23c78e
-            out->list_item(out, NULL, " %s: [ %s ]", state, stopped_list);
23c78e
+            out->list_item(out, NULL, "%s: [ %s ]", state, stopped_list);
23c78e
             free(stopped_list);
23c78e
             stopped_list_len = 0;
23c78e
         }
23c78e
diff --git a/lib/pengine/native.c b/lib/pengine/native.c
23c78e
index 6f27d7b..193be17 100644
23c78e
--- a/lib/pengine/native.c
23c78e
+++ b/lib/pengine/native.c
23c78e
@@ -1320,12 +1320,12 @@ pe__rscs_brief_output(pcmk__output_t *out, GListPtr rsc_list, long options, gboo
23c78e
             }
23c78e
 
23c78e
             if (print_all) {
23c78e
-                out->list_item(out, NULL, " %d/%d\t(%s):\tActive %s",
23c78e
+                out->list_item(out, NULL, "%d/%d\t(%s):\tActive %s",
23c78e
                                *active_counter,
23c78e
                                rsc_counter ? *rsc_counter : 0, type,
23c78e
                                (*active_counter > 0) && node_name ? node_name : "");
23c78e
             } else {
23c78e
-                out->list_item(out, NULL, " %d\t(%s):\tActive %s",
23c78e
+                out->list_item(out, NULL, "%d\t(%s):\tActive %s",
23c78e
                                *active_counter, type,
23c78e
                                (*active_counter > 0) && node_name ? node_name : "");
23c78e
             }
23c78e
@@ -1334,7 +1334,7 @@ pe__rscs_brief_output(pcmk__output_t *out, GListPtr rsc_list, long options, gboo
23c78e
         }
23c78e
 
23c78e
         if (print_all && active_counter_all == 0) {
23c78e
-            out->list_item(out, NULL, " %d/%d\t(%s):\tActive",
23c78e
+            out->list_item(out, NULL, "%d/%d\t(%s):\tActive",
23c78e
                            active_counter_all,
23c78e
                            rsc_counter ? *rsc_counter : 0, type);
23c78e
             rc = pcmk_rc_ok;
23c78e
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
23c78e
index a7118a4..e26604e 100644
23c78e
--- a/lib/pengine/pe_output.c
23c78e
+++ b/lib/pengine/pe_output.c
23c78e
@@ -1890,13 +1890,13 @@ pe__ticket_text(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
     if (ticket->last_granted > -1) {
23c78e
         char *time = pcmk_format_named_time("last-granted", ticket->last_granted);
23c78e
-        out->list_item(out, ticket->id, "\t%s%s %s",
23c78e
+        out->list_item(out, ticket->id, "%s%s %s",
23c78e
                        ticket->granted ? "granted" : "revoked",
23c78e
                        ticket->standby ? " [standby]" : "",
23c78e
                        time);
23c78e
         free(time);
23c78e
     } else {
23c78e
-        out->list_item(out, ticket->id, "\t%s%s",
23c78e
+        out->list_item(out, ticket->id, "%s%s",
23c78e
                        ticket->granted ? "granted" : "revoked",
23c78e
                        ticket->standby ? " [standby]" : "");
23c78e
     }
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 3db514eed9764d6947f114dfe870a88d082db8a3 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Mon, 9 Nov 2020 13:53:23 -0500
23c78e
Subject: [PATCH 5/9] Fix: libs, tools: Don't use fprintf in formatted output.
23c78e
23c78e
That's what out->info is for.  And then having done this, the special
23c78e
console-specific version of the maint-mode message can go away.  It's
23c78e
now exactly the same as the text version.
23c78e
---
23c78e
 lib/pengine/pe_output.c | 10 ++++------
23c78e
 tools/crm_mon_curses.c  | 28 +---------------------------
23c78e
 2 files changed, 5 insertions(+), 33 deletions(-)
23c78e
23c78e
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
23c78e
index e26604e..1b57f64 100644
23c78e
--- a/lib/pengine/pe_output.c
23c78e
+++ b/lib/pengine/pe_output.c
23c78e
@@ -694,14 +694,12 @@ pe__cluster_maint_mode_text(pcmk__output_t *out, va_list args) {
23c78e
     unsigned long long flags = va_arg(args, unsigned long long);
23c78e
 
23c78e
     if (pcmk_is_set(flags, pe_flag_maintenance_mode)) {
23c78e
-        fprintf(out->dest, "\n              *** Resource management is DISABLED ***");
23c78e
-        fprintf(out->dest, "\n  The cluster will not attempt to start, stop or recover services");
23c78e
-        fprintf(out->dest, "\n");
23c78e
+        out->info(out, "\n              *** Resource management is DISABLED ***");
23c78e
+        out->info(out, "  The cluster will not attempt to start, stop or recover services");
23c78e
         return pcmk_rc_ok;
23c78e
     } else if (pcmk_is_set(flags, pe_flag_stop_everything)) {
23c78e
-        fprintf(out->dest, "\n    *** Resource management is DISABLED ***");
23c78e
-        fprintf(out->dest, "\n  The cluster will keep all resources stopped");
23c78e
-        fprintf(out->dest, "\n");
23c78e
+        out->info(out, "\n    *** Resource management is DISABLED ***");
23c78e
+        out->info(out, "  The cluster will keep all resources stopped");
23c78e
         return pcmk_rc_ok;
23c78e
     } else {
23c78e
         return pcmk_rc_no_output;
23c78e
diff --git a/tools/crm_mon_curses.c b/tools/crm_mon_curses.c
23c78e
index 869c7f3..ae22198 100644
23c78e
--- a/tools/crm_mon_curses.c
23c78e
+++ b/tools/crm_mon_curses.c
23c78e
@@ -365,32 +365,6 @@ stonith_event_console(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("maint-mode", "unsigned long long int")
23c78e
-static int
23c78e
-cluster_maint_mode_console(pcmk__output_t *out, va_list args) {
23c78e
-    unsigned long long flags = va_arg(args, unsigned long long);
23c78e
-
23c78e
-    int rc;
23c78e
-
23c78e
-    if (pcmk_is_set(flags, pe_flag_maintenance_mode)) {
23c78e
-        printw("\n              *** Resource management is DISABLED ***");
23c78e
-        printw("\n  The cluster will not attempt to start, stop or recover services");
23c78e
-        printw("\n");
23c78e
-        rc = pcmk_rc_ok;
23c78e
-    } else if (pcmk_is_set(flags, pe_flag_stop_everything)) {
23c78e
-        printw("\n    *** Resource management is DISABLED ***");
23c78e
-        printw("\n  The cluster will keep all resources stopped");
23c78e
-        printw("\n");
23c78e
-        rc = pcmk_rc_ok;
23c78e
-    } else {
23c78e
-        rc = pcmk_rc_no_output;
23c78e
-    }
23c78e
-
23c78e
-    clrtoeol();
23c78e
-    refresh();
23c78e
-    return rc;
23c78e
-}
23c78e
-
23c78e
 static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "ban", "console", pe__ban_text },
23c78e
     { "bundle", "console", pe__bundle_text },
23c78e
@@ -406,7 +380,7 @@ static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "fencing-history", "console", stonith__history },
23c78e
     { "full-fencing-history", "console", stonith__full_history },
23c78e
     { "group", "console", pe__group_text },
23c78e
-    { "maint-mode", "console", cluster_maint_mode_console },
23c78e
+    { "maint-mode", "console", pe__cluster_maint_mode_text },
23c78e
     { "node", "console", pe__node_text },
23c78e
     { "node-attribute", "console", pe__node_attribute_text },
23c78e
     { "node-list", "console", pe__node_list_text },
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From a7bbe968df5617c78e78495406f95f9d258834f1 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Thu, 19 Nov 2020 16:04:09 -0500
23c78e
Subject: [PATCH 6/9] Fix: libstonithd: Use subprocess_output directly.
23c78e
23c78e
stonith__validate_agent_text was using puts, when it should really just
23c78e
be using subprocess_output.  The effect is the same but we should be
23c78e
using the same functions everywhere.
23c78e
---
23c78e
 lib/fencing/st_output.c | 9 +--------
23c78e
 1 file changed, 1 insertion(+), 8 deletions(-)
23c78e
23c78e
diff --git a/lib/fencing/st_output.c b/lib/fencing/st_output.c
23c78e
index 7c3ccef..145dd14 100644
23c78e
--- a/lib/fencing/st_output.c
23c78e
+++ b/lib/fencing/st_output.c
23c78e
@@ -403,14 +403,7 @@ stonith__validate_agent_text(pcmk__output_t *out, va_list args) {
23c78e
                               rc ? "failed" : "succeeded");
23c78e
     }
23c78e
 
23c78e
-    if (output) {
23c78e
-        puts(output);
23c78e
-    }
23c78e
-
23c78e
-    if (error_output) {
23c78e
-        puts(error_output);
23c78e
-    }
23c78e
-
23c78e
+    out->subprocess_output(out, rc, output, error_output);
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 39062beb1f243078bab71cc26af44019927da112 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Fri, 20 Nov 2020 16:22:12 -0500
23c78e
Subject: [PATCH 7/9] Fix: libs, tools: Add -list to certain formatted output
23c78e
 message names.
23c78e
23c78e
Basically, if the message creates its own list, the name should end in
23c78e
-list.  This is a hint to the caller that they do not need to add an
23c78e
extra layer of lists.  I've further changed the names of these messages
23c78e
to be a little shorter, too.
23c78e
23c78e
Note that some messages (the resource variants most obviously) create
23c78e
their own list but don't have -list in the name.  Here, the list is more
23c78e
for organizational purposes rather than indicating that it contains
23c78e
items.
23c78e
---
23c78e
 lib/fencing/st_output.c      | 20 +++++++--------
23c78e
 tools/crm_mon_curses.c       |  8 +++---
23c78e
 tools/crm_mon_print.c        | 14 +++++-----
23c78e
 tools/crm_resource.c         |  8 +++---
23c78e
 tools/crm_resource_print.c   | 61 ++++++++++++++++++++++----------------------
23c78e
 tools/crm_resource_runtime.c |  2 +-
23c78e
 6 files changed, 56 insertions(+), 57 deletions(-)
23c78e
23c78e
diff --git a/lib/fencing/st_output.c b/lib/fencing/st_output.c
23c78e
index 145dd14..e1f4830 100644
23c78e
--- a/lib/fencing/st_output.c
23c78e
+++ b/lib/fencing/st_output.c
23c78e
@@ -30,7 +30,7 @@ time_t_string(time_t when) {
23c78e
     return buf;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("failed-fencing-history", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("failed-fencing-list", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__failed_history(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
@@ -58,7 +58,7 @@ stonith__failed_history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("fencing-history", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("fencing-list", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__history(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
@@ -84,7 +84,7 @@ stonith__history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("full-fencing-list", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__full_history(pcmk__output_t *out, va_list args) {
23c78e
     crm_exit_t history_rc G_GNUC_UNUSED = va_arg(args, crm_exit_t);
23c78e
@@ -109,7 +109,7 @@ stonith__full_history(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
  
23c78e
-PCMK__OUTPUT_ARGS("full-fencing-history", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("full-fencing-list", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__full_history_xml(pcmk__output_t *out, va_list args) {
23c78e
     crm_exit_t history_rc = va_arg(args, crm_exit_t);
23c78e
@@ -198,7 +198,7 @@ stonith__last_fenced_xml(pcmk__output_t *out, va_list args) {
23c78e
     }
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("pending-fencing-actions", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("pending-fencing-list", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
 int
23c78e
 stonith__pending_actions(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
@@ -433,15 +433,15 @@ stonith__validate_agent_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 static pcmk__message_entry_t fmt_functions[] = {
23c78e
-    { "failed-fencing-history", "default", stonith__failed_history },
23c78e
-    { "fencing-history", "default", stonith__history },
23c78e
-    { "full-fencing-history", "default", stonith__full_history },
23c78e
-    { "full-fencing-history", "xml", stonith__full_history_xml },
23c78e
+    { "failed-fencing-list", "default", stonith__failed_history },
23c78e
+    { "fencing-list", "default", stonith__history },
23c78e
+    { "full-fencing-list", "default", stonith__full_history },
23c78e
+    { "full-fencing-list", "xml", stonith__full_history_xml },
23c78e
     { "last-fenced", "html", stonith__last_fenced_html },
23c78e
     { "last-fenced", "log", stonith__last_fenced_text },
23c78e
     { "last-fenced", "text", stonith__last_fenced_text },
23c78e
     { "last-fenced", "xml", stonith__last_fenced_xml },
23c78e
-    { "pending-fencing-actions", "default", stonith__pending_actions },
23c78e
+    { "pending-fencing-list", "default", stonith__pending_actions },
23c78e
     { "stonith-event", "html", stonith__event_html },
23c78e
     { "stonith-event", "log", stonith__event_text },
23c78e
     { "stonith-event", "text", stonith__event_text },
23c78e
diff --git a/tools/crm_mon_curses.c b/tools/crm_mon_curses.c
23c78e
index ae22198..5c79dd2 100644
23c78e
--- a/tools/crm_mon_curses.c
23c78e
+++ b/tools/crm_mon_curses.c
23c78e
@@ -376,16 +376,16 @@ static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "cluster-summary", "console", pe__cluster_summary },
23c78e
     { "cluster-times", "console", pe__cluster_times_text },
23c78e
     { "failed-action", "console", pe__failed_action_text },
23c78e
-    { "failed-fencing-history", "console", stonith__failed_history },
23c78e
-    { "fencing-history", "console", stonith__history },
23c78e
-    { "full-fencing-history", "console", stonith__full_history },
23c78e
+    { "failed-fencing-list", "console", stonith__failed_history },
23c78e
+    { "fencing-list", "console", stonith__history },
23c78e
+    { "full-fencing-list", "console", stonith__full_history },
23c78e
     { "group", "console", pe__group_text },
23c78e
     { "maint-mode", "console", pe__cluster_maint_mode_text },
23c78e
     { "node", "console", pe__node_text },
23c78e
     { "node-attribute", "console", pe__node_attribute_text },
23c78e
     { "node-list", "console", pe__node_list_text },
23c78e
     { "op-history", "console", pe__op_history_text },
23c78e
-    { "pending-fencing-actions", "console", stonith__pending_actions },
23c78e
+    { "pending-fencing-list", "console", stonith__pending_actions },
23c78e
     { "primitive", "console", pe__resource_text },
23c78e
     { "resource-history", "console", pe__resource_history_text },
23c78e
     { "stonith-event", "console", stonith_event_console },
23c78e
diff --git a/tools/crm_mon_print.c b/tools/crm_mon_print.c
23c78e
index ce3e47c..06840b7 100644
23c78e
--- a/tools/crm_mon_print.c
23c78e
+++ b/tools/crm_mon_print.c
23c78e
@@ -735,7 +735,7 @@ print_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
                                                               GINT_TO_POINTER(st_failed));
23c78e
 
23c78e
         if (hp) {
23c78e
-            CHECK_RC(rc, out->message(out, "failed-fencing-history", stonith_history, unames,
23c78e
+            CHECK_RC(rc, out->message(out, "failed-fencing-list", stonith_history, unames,
23c78e
                                       pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                                       rc == pcmk_rc_ok));
23c78e
         }
23c78e
@@ -759,7 +759,7 @@ print_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
                                                                   GINT_TO_POINTER(st_failed));
23c78e
 
23c78e
             if (hp) {
23c78e
-                CHECK_RC(rc, out->message(out, "fencing-history", hp, unames,
23c78e
+                CHECK_RC(rc, out->message(out, "fencing-list", hp, unames,
23c78e
                                           pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                                           rc == pcmk_rc_ok));
23c78e
             }
23c78e
@@ -767,7 +767,7 @@ print_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
             stonith_history_t *hp = stonith__first_matching_event(stonith_history, stonith__event_state_pending, NULL);
23c78e
 
23c78e
             if (hp) {
23c78e
-                CHECK_RC(rc, out->message(out, "pending-fencing-actions", hp, unames,
23c78e
+                CHECK_RC(rc, out->message(out, "pending-fencing-list", hp, unames,
23c78e
                                           pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                                           rc == pcmk_rc_ok));
23c78e
             }
23c78e
@@ -853,7 +853,7 @@ print_xml_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
     if (pcmk_is_set(show, mon_show_fencing_all)
23c78e
         && pcmk_is_set(mon_ops, mon_op_fence_history)) {
23c78e
 
23c78e
-        out->message(out, "full-fencing-history", history_rc, stonith_history,
23c78e
+        out->message(out, "full-fencing-list", history_rc, stonith_history,
23c78e
                      unames, pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                      FALSE);
23c78e
     }
23c78e
@@ -954,7 +954,7 @@ print_html_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
                                                               GINT_TO_POINTER(st_failed));
23c78e
 
23c78e
         if (hp) {
23c78e
-            out->message(out, "failed-fencing-history", stonith_history, unames,
23c78e
+            out->message(out, "failed-fencing-list", stonith_history, unames,
23c78e
                          pcmk_is_set(mon_ops, mon_op_fence_full_history), FALSE);
23c78e
         }
23c78e
     }
23c78e
@@ -966,7 +966,7 @@ print_html_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
                                                                   GINT_TO_POINTER(st_failed));
23c78e
 
23c78e
             if (hp) {
23c78e
-                out->message(out, "fencing-history", hp, unames,
23c78e
+                out->message(out, "fencing-list", hp, unames,
23c78e
                              pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                              FALSE);
23c78e
             }
23c78e
@@ -974,7 +974,7 @@ print_html_status(pcmk__output_t *out, pe_working_set_t *data_set,
23c78e
             stonith_history_t *hp = stonith__first_matching_event(stonith_history, stonith__event_state_pending, NULL);
23c78e
 
23c78e
             if (hp) {
23c78e
-                out->message(out, "pending-fencing-actions", hp, unames,
23c78e
+                out->message(out, "pending-fencing-list", hp, unames,
23c78e
                              pcmk_is_set(mon_ops, mon_op_fence_full_history),
23c78e
                              FALSE);
23c78e
             }
23c78e
diff --git a/tools/crm_resource.c b/tools/crm_resource.c
23c78e
index 2c62ff6..95c72fc 100644
23c78e
--- a/tools/crm_resource.c
23c78e
+++ b/tools/crm_resource.c
23c78e
@@ -1816,7 +1816,7 @@ main(int argc, char **argv)
23c78e
 
23c78e
         case cmd_locate: {
23c78e
             GListPtr resources = cli_resource_search(out, rsc, options.rsc_id, data_set);
23c78e
-            rc = out->message(out, "resource-search", resources, rsc, options.rsc_id);
23c78e
+            rc = out->message(out, "resource-search-list", resources, rsc, options.rsc_id);
23c78e
             break;
23c78e
         }
23c78e
 
23c78e
@@ -1839,7 +1839,7 @@ main(int argc, char **argv)
23c78e
                         goto done;
23c78e
                     }
23c78e
                 }
23c78e
-                out->message(out, "resource-why", cib_conn, data_set->resources, rsc, dest);
23c78e
+                out->message(out, "resource-reasons-list", cib_conn, data_set->resources, rsc, dest);
23c78e
                 rc = pcmk_rc_ok;
23c78e
             }
23c78e
             break;
23c78e
@@ -1879,7 +1879,7 @@ main(int argc, char **argv)
23c78e
             break;
23c78e
 
23c78e
         case cmd_get_property:
23c78e
-            rc = out->message(out, "property", rsc, options.prop_name);
23c78e
+            rc = out->message(out, "property-list", rsc, options.prop_name);
23c78e
             if (rc == pcmk_rc_no_output) {
23c78e
                 rc = ENXIO;
23c78e
             }
23c78e
@@ -1916,7 +1916,7 @@ main(int argc, char **argv)
23c78e
             }
23c78e
 
23c78e
             crm_debug("Looking up %s in %s", options.prop_name, rsc->id);
23c78e
-            rc = out->message(out, "attribute", rsc, options.prop_name, params);
23c78e
+            rc = out->message(out, "attribute-list", rsc, options.prop_name, params);
23c78e
             g_hash_table_destroy(params);
23c78e
             break;
23c78e
         }
23c78e
diff --git a/tools/crm_resource_print.c b/tools/crm_resource_print.c
23c78e
index 4cb78b5..89d6172 100644
23c78e
--- a/tools/crm_resource_print.c
23c78e
+++ b/tools/crm_resource_print.c
23c78e
@@ -127,9 +127,9 @@ cli_resource_print(pcmk__output_t *out, pe_resource_t *rsc,
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("attribute", "pe_resource_t *", "char *", "GHashTable *")
23c78e
+PCMK__OUTPUT_ARGS("attribute-list", "pe_resource_t *", "char *", "GHashTable *")
23c78e
 static int
23c78e
-attribute_default(pcmk__output_t *out, va_list args) {
23c78e
+attribute_list_default(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     char *attr = va_arg(args, char *);
23c78e
     GHashTable *params = va_arg(args, GHashTable *);
23c78e
@@ -147,9 +147,9 @@ attribute_default(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("attribute", "pe_resource_t *", "char *", "GHashTable *")
23c78e
+PCMK__OUTPUT_ARGS("attribute-list", "pe_resource_t *", "char *", "GHashTable *")
23c78e
 static int
23c78e
-attribute_text(pcmk__output_t *out, va_list args) {
23c78e
+attribute_list_text(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     char *attr = va_arg(args, char *);
23c78e
     GHashTable *params = va_arg(args, GHashTable *);
23c78e
@@ -165,9 +165,9 @@ attribute_text(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("property", "pe_resource_t *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("property-list", "pe_resource_t *", "char *")
23c78e
 static int
23c78e
-property_default(pcmk__output_t *out, va_list args) {
23c78e
+property_list_default(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     char *attr = va_arg(args, char *);
23c78e
 
23c78e
@@ -182,9 +182,9 @@ property_default(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("property", "pe_resource_t *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("property-list", "pe_resource_t *", "char *")
23c78e
 static int
23c78e
-property_text(pcmk__output_t *out, va_list args) {
23c78e
+property_list_text(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     char *attr = va_arg(args, char *);
23c78e
 
23c78e
@@ -197,9 +197,9 @@ property_text(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-check", "resource_checks_t *")
23c78e
+PCMK__OUTPUT_ARGS("resource-check-list", "resource_checks_t *")
23c78e
 static int
23c78e
-resource_check_default(pcmk__output_t *out, va_list args) {
23c78e
+resource_check_list_default(pcmk__output_t *out, va_list args) {
23c78e
     resource_checks_t *checks = va_arg(args, resource_checks_t *);
23c78e
 
23c78e
     pe_resource_t *parent = uber_parent(checks->rsc);
23c78e
@@ -239,9 +239,9 @@ resource_check_default(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-check", "resource_checks_t *")
23c78e
+PCMK__OUTPUT_ARGS("resource-check-list", "resource_checks_t *")
23c78e
 static int
23c78e
-resource_check_xml(pcmk__output_t *out, va_list args) {
23c78e
+resource_check_list_xml(pcmk__output_t *out, va_list args) {
23c78e
     resource_checks_t *checks = va_arg(args, resource_checks_t *);
23c78e
 
23c78e
     pe_resource_t *parent = uber_parent(checks->rsc);
23c78e
@@ -270,9 +270,9 @@ resource_check_xml(pcmk__output_t *out, va_list args) {
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-search", "GList *", "pe_resource_t *", "gchar *")
23c78e
+PCMK__OUTPUT_ARGS("resource-search-list", "GList *", "pe_resource_t *", "gchar *")
23c78e
 static int
23c78e
-resource_search_default(pcmk__output_t *out, va_list args)
23c78e
+resource_search_list_default(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     GList *nodes = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
@@ -315,10 +315,9 @@ resource_search_default(pcmk__output_t *out, va_list args)
23c78e
     return rc;
23c78e
 }
23c78e
 
23c78e
-
23c78e
-PCMK__OUTPUT_ARGS("resource-search", "GList *", "pe_resource_t *", "gchar *")
23c78e
+PCMK__OUTPUT_ARGS("resource-search-list", "GList *", "pe_resource_t *", "gchar *")
23c78e
 static int
23c78e
-resource_search_xml(pcmk__output_t *out, va_list args)
23c78e
+resource_search_list_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     GList *nodes = va_arg(args, GList *);
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
@@ -340,10 +339,10 @@ resource_search_xml(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GList *", "pe_resource_t *",
23c78e
+PCMK__OUTPUT_ARGS("resource-reasons-list", "cib_t *", "GList *", "pe_resource_t *",
23c78e
                   "pe_node_t *")
23c78e
 static int
23c78e
-resource_why_default(pcmk__output_t *out, va_list args)
23c78e
+resource_reasons_list_default(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     cib_t *cib_conn = va_arg(args, cib_t *);
23c78e
     GList *resources = va_arg(args, GList *);
23c78e
@@ -423,10 +422,10 @@ resource_why_default(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("resource-why", "cib_t *", "GList *", "pe_resource_t *",
23c78e
+PCMK__OUTPUT_ARGS("resource-reasons-list", "cib_t *", "GList *", "pe_resource_t *",
23c78e
                   "pe_node_t *")
23c78e
 static int
23c78e
-resource_why_xml(pcmk__output_t *out, va_list args)
23c78e
+resource_reasons_list_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     cib_t *cib_conn = va_arg(args, cib_t *);
23c78e
     GList *resources = va_arg(args, GList *);
23c78e
@@ -554,16 +553,16 @@ resource_names(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 static pcmk__message_entry_t fmt_functions[] = {
23c78e
-    { "attribute", "default", attribute_default },
23c78e
-    { "attribute", "text", attribute_text },
23c78e
-    { "property", "default", property_default },
23c78e
-    { "property", "text", property_text },
23c78e
-    { "resource-check", "default", resource_check_default },
23c78e
-    { "resource-check", "xml", resource_check_xml },
23c78e
-    { "resource-search", "default", resource_search_default },
23c78e
-    { "resource-search", "xml", resource_search_xml },
23c78e
-    { "resource-why", "default", resource_why_default },
23c78e
-    { "resource-why", "xml", resource_why_xml },
23c78e
+    { "attribute-list", "default", attribute_list_default },
23c78e
+    { "attribute-list", "text", attribute_list_text },
23c78e
+    { "property-list", "default", property_list_default },
23c78e
+    { "property-list", "text", property_list_text },
23c78e
+    { "resource-check-list", "default", resource_check_list_default },
23c78e
+    { "resource-check-list", "xml", resource_check_list_xml },
23c78e
+    { "resource-search-list", "default", resource_search_list_default },
23c78e
+    { "resource-search-list", "xml", resource_search_list_xml },
23c78e
+    { "resource-reasons-list", "default", resource_reasons_list_default },
23c78e
+    { "resource-reasons-list", "xml", resource_reasons_list_xml },
23c78e
     { "resource-names-list", "default", resource_names },
23c78e
 
23c78e
     { NULL, NULL, NULL }
23c78e
diff --git a/tools/crm_resource_runtime.c b/tools/crm_resource_runtime.c
23c78e
index bbd8bc1..3a9feac 100644
23c78e
--- a/tools/crm_resource_runtime.c
23c78e
+++ b/tools/crm_resource_runtime.c
23c78e
@@ -900,7 +900,7 @@ cli_resource_check(pcmk__output_t *out, cib_t * cib_conn, pe_resource_t *rsc)
23c78e
     checks = cli_check_resource(rsc, role_s, managed);
23c78e
 
23c78e
     if (checks->flags != 0 || checks->lock_node != NULL) {
23c78e
-        rc = out->message(out, "resource-check", checks);
23c78e
+        rc = out->message(out, "resource-check-list", checks);
23c78e
     }
23c78e
 
23c78e
     free(role_s);
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From d7322d1c2802c2d65a82a19b2513b5769b25dc30 Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Fri, 20 Nov 2020 16:23:14 -0500
23c78e
Subject: [PATCH 8/9] Fix: libpacemaker: Fix typing on crmadmin formatted
23c78e
 output messages.
23c78e
23c78e
Mostly this is just changing char * into const char *, though the
23c78e
crm_node_list one is pretty important.
23c78e
---
23c78e
 lib/pacemaker/pcmk_output.c | 64 ++++++++++++++++++++++-----------------------
23c78e
 1 file changed, 32 insertions(+), 32 deletions(-)
23c78e
23c78e
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
23c78e
index deb1fe5..5c54204 100644
23c78e
--- a/lib/pacemaker/pcmk_output.c
23c78e
+++ b/lib/pacemaker/pcmk_output.c
23c78e
@@ -357,14 +357,14 @@ stacks_and_constraints_xml(pcmk__output_t *out, va_list args) {
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("health", "char *", "char *", "char *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("health", "const char *", "const char *", "const char *", "const char *")
23c78e
 static int
23c78e
 health_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *sys_from = va_arg(args, char *);
23c78e
-    char *host_from = va_arg(args, char *);
23c78e
-    char *fsa_state = va_arg(args, char *);
23c78e
-    char *result = va_arg(args, char *);
23c78e
+    const char *sys_from = va_arg(args, const char *);
23c78e
+    const char *host_from = va_arg(args, const char *);
23c78e
+    const char *fsa_state = va_arg(args, const char *);
23c78e
+    const char *result = va_arg(args, const char *);
23c78e
 
23c78e
     if (!out->is_quiet(out)) {
23c78e
         out->info(out, "Status of %s@%s: %s (%s)", crm_str(sys_from),
23c78e
@@ -376,14 +376,14 @@ health_text(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("health", "char *", "char *", "char *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("health", "const char *", "const char *", "const char *", "const char *")
23c78e
 static int
23c78e
 health_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *sys_from = va_arg(args, char *);
23c78e
-    char *host_from = va_arg(args, char *);
23c78e
-    char *fsa_state = va_arg(args, char *);
23c78e
-    char *result = va_arg(args, char *);
23c78e
+    const char *sys_from = va_arg(args, const char *);
23c78e
+    const char *host_from = va_arg(args, const char *);
23c78e
+    const char *fsa_state = va_arg(args, const char *);
23c78e
+    const char *result = va_arg(args, const char *);
23c78e
 
23c78e
     pcmk__output_create_xml_node(out, crm_str(sys_from),
23c78e
                                  "node_name", crm_str(host_from),
23c78e
@@ -393,13 +393,13 @@ health_xml(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("pacemakerd-health", "char *", "char *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("pacemakerd-health", "const char *", "const char *", "const char *")
23c78e
 static int
23c78e
 pacemakerd_health_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *sys_from = va_arg(args, char *);
23c78e
-    char *state = va_arg(args, char *);
23c78e
-    char *last_updated = va_arg(args, char *);
23c78e
+    const char *sys_from = va_arg(args, const char *);
23c78e
+    const char *state = va_arg(args, const char *);
23c78e
+    const char *last_updated = va_arg(args, const char *);
23c78e
 
23c78e
     if (!out->is_quiet(out)) {
23c78e
         out->info(out, "Status of %s: '%s' %s %s", crm_str(sys_from),
23c78e
@@ -412,13 +412,13 @@ pacemakerd_health_text(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("pacemakerd-health", "char *", "char *", "char *")
23c78e
+PCMK__OUTPUT_ARGS("pacemakerd-health", "const char *", "const char *", "const char *")
23c78e
 static int
23c78e
 pacemakerd_health_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *sys_from = va_arg(args, char *);
23c78e
-    char *state = va_arg(args, char *);
23c78e
-    char *last_updated = va_arg(args, char *);
23c78e
+    const char *sys_from = va_arg(args, const char *);
23c78e
+    const char *state = va_arg(args, const char *);
23c78e
+    const char *last_updated = va_arg(args, const char *);
23c78e
 
23c78e
     pcmk__output_create_xml_node(out, crm_str(sys_from),
23c78e
                                  "state", crm_str(state),
23c78e
@@ -427,11 +427,11 @@ pacemakerd_health_xml(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("dc", "char *")
23c78e
+PCMK__OUTPUT_ARGS("dc", "const char *")
23c78e
 static int
23c78e
 dc_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *dc = va_arg(args, char *);
23c78e
+    const char *dc = va_arg(args, const char *);
23c78e
 
23c78e
     if (!out->is_quiet(out)) {
23c78e
         out->info(out, "Designated Controller is: %s", crm_str(dc));
23c78e
@@ -442,11 +442,11 @@ dc_text(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("dc", "char *")
23c78e
+PCMK__OUTPUT_ARGS("dc", "const char *")
23c78e
 static int
23c78e
 dc_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *dc = va_arg(args, char *);
23c78e
+    const char *dc = va_arg(args, const char *);
23c78e
 
23c78e
     pcmk__output_create_xml_node(out, "dc",
23c78e
                                  "node_name", crm_str(dc),
23c78e
@@ -455,16 +455,16 @@ dc_xml(pcmk__output_t *out, va_list args)
23c78e
 }
23c78e
 
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("crmadmin-node-list", "pcmk__output_t *", "xmlNodePtr")
23c78e
+PCMK__OUTPUT_ARGS("crmadmin-node-list", "xmlNodePtr", "gboolean")
23c78e
 static int
23c78e
 crmadmin_node_list(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     xmlNodePtr xml_node = va_arg(args, xmlNodePtr);
23c78e
+    gboolean BASH_EXPORT = va_arg(args, gboolean);
23c78e
 
23c78e
     int found = 0;
23c78e
     xmlNode *node = NULL;
23c78e
     xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
23c78e
-    gboolean BASH_EXPORT = va_arg(args, gboolean);
23c78e
 
23c78e
     out->begin_list(out, NULL, NULL, "nodes");
23c78e
 
23c78e
@@ -490,13 +490,13 @@ crmadmin_node_list(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("crmadmin-node", "char *", "char *", "char *", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("crmadmin-node", "const char *", "const char *", "const char *", "gboolean")
23c78e
 static int
23c78e
 crmadmin_node_text(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *type = va_arg(args, char *);
23c78e
-    char *name = va_arg(args, char *);
23c78e
-    char *id = va_arg(args, char *);
23c78e
+    const char *type = va_arg(args, const char *);
23c78e
+    const char *name = va_arg(args, const char *);
23c78e
+    const char *id = va_arg(args, const char *);
23c78e
     gboolean BASH_EXPORT = va_arg(args, gboolean);
23c78e
 
23c78e
     if (BASH_EXPORT) {
23c78e
@@ -509,13 +509,13 @@ crmadmin_node_text(pcmk__output_t *out, va_list args)
23c78e
     return pcmk_rc_ok;
23c78e
 }
23c78e
 
23c78e
-PCMK__OUTPUT_ARGS("crmadmin-node", "char *", "char *", "char *", "gboolean")
23c78e
+PCMK__OUTPUT_ARGS("crmadmin-node", "const char *", "const char *", "const char *", "gboolean")
23c78e
 static int
23c78e
 crmadmin_node_xml(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
-    char *type = va_arg(args, char *);
23c78e
-    char *name = va_arg(args, char *);
23c78e
-    char *id = va_arg(args, char *);
23c78e
+    const char *type = va_arg(args, const char *);
23c78e
+    const char *name = va_arg(args, const char *);
23c78e
+    const char *id = va_arg(args, const char *);
23c78e
 
23c78e
     pcmk__output_create_xml_node(out, "node",
23c78e
                                  "type", type ? type : "member",
23c78e
-- 
23c78e
1.8.3.1
23c78e
23c78e
23c78e
From 1a123a8d8a8ec22b6166b5cdebcfdfe6b05bcc4e Mon Sep 17 00:00:00 2001
23c78e
From: Chris Lumens <clumens@redhat.com>
23c78e
Date: Fri, 20 Nov 2020 16:23:39 -0500
23c78e
Subject: [PATCH 9/9] Fix: libs: Decrease the number of visible formatted
23c78e
 output functions.
23c78e
23c78e
The only ones that need to be exported are the ones that crm_mon needs
23c78e
to reference for its output.  All the others can be static and only
23c78e
accessed indirectly through calling out->message.
23c78e
23c78e
And then remove the prefixes from these newly static functions.  This
23c78e
could potentially be a little confusing if the text version is public
23c78e
(and therefore has the, say, pe__ prefix) while the xml version is
23c78e
hidden and is lacking that suffix.  But I think it'll be okay.
23c78e
---
23c78e
 include/crm/fencing/internal.h |  11 +--
23c78e
 include/crm/pengine/internal.h |  54 ++++----------
23c78e
 lib/fencing/st_output.c        |  66 ++++++++---------
23c78e
 lib/pengine/pe_output.c        | 161 +++++++++++++++++++++--------------------
23c78e
 4 files changed, 129 insertions(+), 163 deletions(-)
23c78e
23c78e
diff --git a/include/crm/fencing/internal.h b/include/crm/fencing/internal.h
23c78e
index 391ab72..dfb1d64 100644
23c78e
--- a/include/crm/fencing/internal.h
23c78e
+++ b/include/crm/fencing/internal.h
23c78e
@@ -185,20 +185,11 @@ int stonith__rhcs_validate(stonith_t *st, int call_options, const char *target,
23c78e
                            const char *agent, GHashTable *params, const char *host_arg,
23c78e
                            int timeout, char **output, char **error_output);
23c78e
 
23c78e
+/* Exported for crm_mon to reference */
23c78e
 int stonith__failed_history(pcmk__output_t *out, va_list args);
23c78e
 int stonith__history(pcmk__output_t *out, va_list args);
23c78e
 int stonith__full_history(pcmk__output_t *out, va_list args);
23c78e
-int stonith__full_history_xml(pcmk__output_t *out, va_list args);
23c78e
-int stonith__last_fenced_html(pcmk__output_t *out, va_list args);
23c78e
-int stonith__last_fenced_text(pcmk__output_t *out, va_list args);
23c78e
-int stonith__last_fenced_xml(pcmk__output_t *out, va_list args);
23c78e
 int stonith__pending_actions(pcmk__output_t *out, va_list args);
23c78e
-int stonith__event_html(pcmk__output_t *out, va_list args);
23c78e
-int stonith__event_text(pcmk__output_t *out, va_list args);
23c78e
-int stonith__event_xml(pcmk__output_t *out, va_list args);
23c78e
-int stonith__validate_agent_html(pcmk__output_t *out, va_list args);
23c78e
-int stonith__validate_agent_text(pcmk__output_t *out, va_list args);
23c78e
-int stonith__validate_agent_xml(pcmk__output_t *out, va_list args);
23c78e
 
23c78e
 stonith_history_t *stonith__first_matching_event(stonith_history_t *history,
23c78e
                                                  bool (*matching_fn)(stonith_history_t *, void *),
23c78e
diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
23c78e
index c4b28cc..89e17b8 100644
23c78e
--- a/include/crm/pengine/internal.h
23c78e
+++ b/include/crm/pengine/internal.h
23c78e
@@ -256,34 +256,9 @@ pe__rsc_bool_str(pe_resource_t *rsc, uint64_t rsc_flag)
23c78e
     return pcmk__btoa(pcmk_is_set(rsc->flags, rsc_flag));
23c78e
 }
23c78e
 
23c78e
-int pe__ban_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__ban_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__ban_xml(pcmk__output_t *out, va_list args);
23c78e
 int pe__clone_xml(pcmk__output_t *out, va_list args);
23c78e
 int pe__clone_html(pcmk__output_t *out, va_list args);
23c78e
 int pe__clone_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_counts_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_counts_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_counts_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_dc_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_dc_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_dc_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_maint_mode_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_maint_mode_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_options_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_options_log(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_options_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_options_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_stack_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_stack_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_stack_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_summary(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_summary_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_times_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_times_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__cluster_times_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__failed_action_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__failed_action_xml(pcmk__output_t *out, va_list args);
23c78e
 int pe__group_xml(pcmk__output_t *out, va_list args);
23c78e
 int pe__group_html(pcmk__output_t *out, va_list args);
23c78e
 int pe__group_text(pcmk__output_t *out, va_list args);
23c78e
@@ -293,26 +268,25 @@ int pe__bundle_text(pcmk__output_t *out, va_list args);
23c78e
 int pe__node_html(pcmk__output_t *out, va_list args);
23c78e
 int pe__node_text(pcmk__output_t *out, va_list args);
23c78e
 int pe__node_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_and_op(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_and_op_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_attribute_html(pcmk__output_t *out, va_list args);
23c78e
+int pe__resource_xml(pcmk__output_t *out, va_list args);
23c78e
+int pe__resource_html(pcmk__output_t *out, va_list args);
23c78e
+int pe__resource_text(pcmk__output_t *out, va_list args);
23c78e
+
23c78e
+/* Exported for crm_mon to reference */
23c78e
+int pe__ban_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_counts_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_dc_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_maint_mode_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_options_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_stack_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_summary(pcmk__output_t *out, va_list args);
23c78e
+int pe__cluster_times_text(pcmk__output_t *out, va_list args);
23c78e
+int pe__failed_action_text(pcmk__output_t *out, va_list args);
23c78e
 int pe__node_attribute_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_attribute_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_list_html(pcmk__output_t *out, va_list args);
23c78e
 int pe__node_list_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__node_list_xml(pcmk__output_t *out, va_list args);
23c78e
 int pe__op_history_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__op_history_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_config(pcmk__output_t *out, va_list args);
23c78e
 int pe__resource_history_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_history_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_xml(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_html(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__resource_list(pcmk__output_t *out, va_list args);
23c78e
-int pe__ticket_html(pcmk__output_t *out, va_list args);
23c78e
 int pe__ticket_text(pcmk__output_t *out, va_list args);
23c78e
-int pe__ticket_xml(pcmk__output_t *out, va_list args);
23c78e
 
23c78e
 void native_free(pe_resource_t * rsc);
23c78e
 void group_free(pe_resource_t * rsc);
23c78e
diff --git a/lib/fencing/st_output.c b/lib/fencing/st_output.c
23c78e
index e1f4830..f48fd55 100644
23c78e
--- a/lib/fencing/st_output.c
23c78e
+++ b/lib/fencing/st_output.c
23c78e
@@ -110,8 +110,8 @@ stonith__full_history(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
  
23c78e
 PCMK__OUTPUT_ARGS("full-fencing-list", "crm_exit_t", "stonith_history_t *", "GList *", "gboolean", "gboolean")
23c78e
-int
23c78e
-stonith__full_history_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+full_history_xml(pcmk__output_t *out, va_list args) {
23c78e
     crm_exit_t history_rc = va_arg(args, crm_exit_t);
23c78e
     stonith_history_t *history = va_arg(args, stonith_history_t *);
23c78e
     GList *only_node = va_arg(args, GList *);
23c78e
@@ -147,8 +147,8 @@ stonith__full_history_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("last-fenced", "const char *", "time_t")
23c78e
-int
23c78e
-stonith__last_fenced_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+last_fenced_html(pcmk__output_t *out, va_list args) {
23c78e
     const char *target = va_arg(args, const char *);
23c78e
     time_t when = va_arg(args, time_t);
23c78e
 
23c78e
@@ -163,8 +163,8 @@ stonith__last_fenced_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("last-fenced", "const char *", "time_t")
23c78e
-int
23c78e
-stonith__last_fenced_text(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+last_fenced_text(pcmk__output_t *out, va_list args) {
23c78e
     const char *target = va_arg(args, const char *);
23c78e
     time_t when = va_arg(args, time_t);
23c78e
 
23c78e
@@ -178,8 +178,8 @@ stonith__last_fenced_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("last-fenced", "const char *", "time_t")
23c78e
-int
23c78e
-stonith__last_fenced_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+last_fenced_xml(pcmk__output_t *out, va_list args) {
23c78e
     const char *target = va_arg(args, const char *);
23c78e
     time_t when = va_arg(args, time_t);
23c78e
 
23c78e
@@ -228,8 +228,8 @@ stonith__pending_actions(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("stonith-event", "stonith_history_t *", "gboolean", "gboolean")
23c78e
-int
23c78e
-stonith__event_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+stonith_event_html(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *event = va_arg(args, stonith_history_t *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean later_succeeded = va_arg(args, gboolean);
23c78e
@@ -276,8 +276,8 @@ stonith__event_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("stonith-event", "stonith_history_t *", "gboolean", "gboolean")
23c78e
-int
23c78e
-stonith__event_text(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+stonith_event_text(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *event = va_arg(args, stonith_history_t *);
23c78e
     gboolean full_history = va_arg(args, gboolean);
23c78e
     gboolean later_succeeded = va_arg(args, gboolean);
23c78e
@@ -314,8 +314,8 @@ stonith__event_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("stonith-event", "stonith_history_t *", "gboolean", "gboolean")
23c78e
-int
23c78e
-stonith__event_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+stonith_event_xml(pcmk__output_t *out, va_list args) {
23c78e
     stonith_history_t *event = va_arg(args, stonith_history_t *);
23c78e
     gboolean full_history G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
     gboolean later_succeeded G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
@@ -362,8 +362,8 @@ stonith__event_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("validate", "const char *", "const char *", "char *", "char *", "int")
23c78e
-int
23c78e
-stonith__validate_agent_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+validate_agent_html(pcmk__output_t *out, va_list args) {
23c78e
     const char *agent = va_arg(args, const char *);
23c78e
     const char *device = va_arg(args, const char *);
23c78e
     char *output = va_arg(args, char *);
23c78e
@@ -387,8 +387,8 @@ stonith__validate_agent_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("validate", "const char *", "const char *", "char *", "char *", "int")
23c78e
-int
23c78e
-stonith__validate_agent_text(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+validate_agent_text(pcmk__output_t *out, va_list args) {
23c78e
     const char *agent = va_arg(args, const char *);
23c78e
     const char *device = va_arg(args, const char *);
23c78e
     char *output = va_arg(args, char *);
23c78e
@@ -408,8 +408,8 @@ stonith__validate_agent_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("validate", "const char *", "const char *", "char *", "char *", "int")
23c78e
-int
23c78e
-stonith__validate_agent_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+validate_agent_xml(pcmk__output_t *out, va_list args) {
23c78e
     const char *agent = va_arg(args, const char *);
23c78e
     const char *device = va_arg(args, const char *);
23c78e
     char *output = va_arg(args, char *);
23c78e
@@ -436,20 +436,20 @@ static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "failed-fencing-list", "default", stonith__failed_history },
23c78e
     { "fencing-list", "default", stonith__history },
23c78e
     { "full-fencing-list", "default", stonith__full_history },
23c78e
-    { "full-fencing-list", "xml", stonith__full_history_xml },
23c78e
-    { "last-fenced", "html", stonith__last_fenced_html },
23c78e
-    { "last-fenced", "log", stonith__last_fenced_text },
23c78e
-    { "last-fenced", "text", stonith__last_fenced_text },
23c78e
-    { "last-fenced", "xml", stonith__last_fenced_xml },
23c78e
+    { "full-fencing-list", "xml", full_history_xml },
23c78e
+    { "last-fenced", "html", last_fenced_html },
23c78e
+    { "last-fenced", "log", last_fenced_text },
23c78e
+    { "last-fenced", "text", last_fenced_text },
23c78e
+    { "last-fenced", "xml", last_fenced_xml },
23c78e
     { "pending-fencing-list", "default", stonith__pending_actions },
23c78e
-    { "stonith-event", "html", stonith__event_html },
23c78e
-    { "stonith-event", "log", stonith__event_text },
23c78e
-    { "stonith-event", "text", stonith__event_text },
23c78e
-    { "stonith-event", "xml", stonith__event_xml },
23c78e
-    { "validate", "html", stonith__validate_agent_html },
23c78e
-    { "validate", "log", stonith__validate_agent_text },
23c78e
-    { "validate", "text", stonith__validate_agent_text },
23c78e
-    { "validate", "xml", stonith__validate_agent_xml },
23c78e
+    { "stonith-event", "html", stonith_event_html },
23c78e
+    { "stonith-event", "log", stonith_event_text },
23c78e
+    { "stonith-event", "text", stonith_event_text },
23c78e
+    { "stonith-event", "xml", stonith_event_xml },
23c78e
+    { "validate", "html", validate_agent_html },
23c78e
+    { "validate", "log", validate_agent_text },
23c78e
+    { "validate", "text", validate_agent_text },
23c78e
+    { "validate", "xml", validate_agent_xml },
23c78e
 
23c78e
     { NULL, NULL, NULL }
23c78e
 };
23c78e
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
23c78e
index 1b57f64..5562eb6 100644
23c78e
--- a/lib/pengine/pe_output.c
23c78e
+++ b/lib/pengine/pe_output.c
23c78e
@@ -273,8 +273,8 @@ pe__cluster_summary(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-summary", "pe_working_set_t *", "gboolean", "gboolean", "gboolean",
23c78e
                   "gboolean", "gboolean", "gboolean")
23c78e
-int
23c78e
-pe__cluster_summary_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_summary_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
     gboolean show_stack = va_arg(args, gboolean);
23c78e
@@ -427,8 +427,8 @@ pe__name_and_nvpairs_xml(pcmk__output_t *out, bool is_list, const char *tag_name
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("ban", "pe_node_t *", "pe__location_t *", "gboolean")
23c78e
-int
23c78e
-pe__ban_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+ban_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *pe_node = va_arg(args, pe_node_t *);
23c78e
     pe__location_t *location = va_arg(args, pe__location_t *);
23c78e
     gboolean print_clone_detail = va_arg(args, gboolean);
23c78e
@@ -464,8 +464,8 @@ pe__ban_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("ban", "pe_node_t *", "pe__location_t *", "gboolean")
23c78e
-int
23c78e
-pe__ban_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+ban_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *pe_node = va_arg(args, pe_node_t *);
23c78e
     pe__location_t *location = va_arg(args, pe__location_t *);
23c78e
     gboolean print_clone_detail G_GNUC_UNUSED = va_arg(args, gboolean);
23c78e
@@ -485,8 +485,8 @@ pe__ban_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-counts", "unsigned int", "int", "int", "int")
23c78e
-int
23c78e
-pe__cluster_counts_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_counts_html(pcmk__output_t *out, va_list args) {
23c78e
     unsigned int nnodes = va_arg(args, unsigned int);
23c78e
     int nresources = va_arg(args, int);
23c78e
     int ndisabled = va_arg(args, int);
23c78e
@@ -581,8 +581,8 @@ pe__cluster_counts_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-counts", "unsigned int", "int", "int", "int")
23c78e
-int
23c78e
-pe__cluster_counts_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_counts_xml(pcmk__output_t *out, va_list args) {
23c78e
     unsigned int nnodes = va_arg(args, unsigned int);
23c78e
     int nresources = va_arg(args, int);
23c78e
     int ndisabled = va_arg(args, int);
23c78e
@@ -611,8 +611,8 @@ pe__cluster_counts_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-dc", "pe_node_t *", "const char *", "const char *", "char *")
23c78e
-int
23c78e
-pe__cluster_dc_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_dc_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *dc = va_arg(args, pe_node_t *);
23c78e
     const char *quorum = va_arg(args, const char *);
23c78e
     const char *dc_version_s = va_arg(args, const char *);
23c78e
@@ -664,8 +664,8 @@ pe__cluster_dc_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-dc", "pe_node_t *", "const char *", "const char *", "char *")
23c78e
-int
23c78e
-pe__cluster_dc_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_dc_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_node_t *dc = va_arg(args, pe_node_t *);
23c78e
     const char *quorum = va_arg(args, const char *);
23c78e
     const char *dc_version_s = va_arg(args, const char *);
23c78e
@@ -707,8 +707,8 @@ pe__cluster_maint_mode_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-options", "pe_working_set_t *")
23c78e
-int
23c78e
-pe__cluster_options_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_options_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
 
23c78e
     out->list_item(out, NULL, "STONITH of failed nodes %s",
23c78e
@@ -762,8 +762,8 @@ pe__cluster_options_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-options", "pe_working_set_t *")
23c78e
-int
23c78e
-pe__cluster_options_log(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_options_log(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
 
23c78e
     if (pcmk_is_set(data_set->flags, pe_flag_maintenance_mode)) {
23c78e
@@ -815,8 +815,8 @@ pe__cluster_options_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-options", "pe_working_set_t *")
23c78e
-int
23c78e
-pe__cluster_options_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_options_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
 
23c78e
     const char *no_quorum_policy = NULL;
23c78e
@@ -854,8 +854,8 @@ pe__cluster_options_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-stack", "const char *")
23c78e
-int
23c78e
-pe__cluster_stack_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_stack_html(pcmk__output_t *out, va_list args) {
23c78e
     const char *stack_s = va_arg(args, const char *);
23c78e
 
23c78e
     xmlNodePtr node = pcmk__output_create_xml_node(out, "li", NULL);
23c78e
@@ -876,8 +876,8 @@ pe__cluster_stack_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-stack", "const char *")
23c78e
-int
23c78e
-pe__cluster_stack_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_stack_xml(pcmk__output_t *out, va_list args) {
23c78e
     const char *stack_s = va_arg(args, const char *);
23c78e
 
23c78e
     pcmk__output_create_xml_node(out, "stack",
23c78e
@@ -888,8 +888,8 @@ pe__cluster_stack_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-times", "const char *", "const char *", "const char *", "const char *")
23c78e
-int
23c78e
-pe__cluster_times_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_times_html(pcmk__output_t *out, va_list args) {
23c78e
     const char *last_written = va_arg(args, const char *);
23c78e
     const char *user = va_arg(args, const char *);
23c78e
     const char *client = va_arg(args, const char *);
23c78e
@@ -912,8 +912,8 @@ pe__cluster_times_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("cluster-times", "const char *", "const char *", "const char *", "const char *")
23c78e
-int
23c78e
-pe__cluster_times_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+cluster_times_xml(pcmk__output_t *out, va_list args) {
23c78e
     const char *last_written = va_arg(args, const char *);
23c78e
     const char *user = va_arg(args, const char *);
23c78e
     const char *client = va_arg(args, const char *);
23c78e
@@ -962,8 +962,8 @@ pe__failed_action_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("failed-action", "xmlNodePtr")
23c78e
-int
23c78e
-pe__failed_action_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+failed_action_xml(pcmk__output_t *out, va_list args) {
23c78e
     xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
 
23c78e
     const char *op_key = crm_element_value(xml_op, XML_LRM_ATTR_TASK_KEY);
23c78e
@@ -1249,8 +1249,8 @@ pe__node_attribute_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-attribute", "const char *", "const char *", "gboolean", "int")
23c78e
-int
23c78e
-pe__node_attribute_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_attribute_html(pcmk__output_t *out, va_list args) {
23c78e
     const char *name = va_arg(args, const char *);
23c78e
     const char *value = va_arg(args, const char *);
23c78e
     gboolean add_extra = va_arg(args, gboolean);
23c78e
@@ -1279,8 +1279,8 @@ pe__node_attribute_html(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-and-op", "pe_working_set_t *", "xmlNodePtr")
23c78e
-int
23c78e
-pe__node_and_op(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_and_op(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
     xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
 
23c78e
@@ -1333,8 +1333,8 @@ pe__node_and_op(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-and-op", "pe_working_set_t *", "xmlNodePtr")
23c78e
-int
23c78e
-pe__node_and_op_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_and_op_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
     xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
 
23c78e
@@ -1381,8 +1381,8 @@ pe__node_and_op_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-attribute", "const char *", "const char *", "gboolean", "int")
23c78e
-int
23c78e
-pe__node_attribute_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_attribute_xml(pcmk__output_t *out, va_list args) {
23c78e
     const char *name = va_arg(args, const char *);
23c78e
     const char *value = va_arg(args, const char *);
23c78e
     gboolean add_extra = va_arg(args, gboolean);
23c78e
@@ -1403,8 +1403,8 @@ pe__node_attribute_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-list", "GList *", "GList *", "GList *", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
-int
23c78e
-pe__node_list_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_list_html(pcmk__output_t *out, va_list args) {
23c78e
     GList *nodes = va_arg(args, GList *);
23c78e
     GList *only_node = va_arg(args, GList *);
23c78e
     GList *only_rsc = va_arg(args, GList *);
23c78e
@@ -1572,8 +1572,8 @@ pe__node_list_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("node-list", "GList *", "GList *", "GList *", "unsigned int", "gboolean", "gboolean", "gboolean")
23c78e
-int
23c78e
-pe__node_list_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+node_list_xml(pcmk__output_t *out, va_list args) {
23c78e
     GList *nodes = va_arg(args, GList *);
23c78e
     GList *only_node = va_arg(args, GList *);
23c78e
     GList *only_rsc = va_arg(args, GList *);
23c78e
@@ -1616,8 +1616,8 @@ pe__op_history_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("op-history", "xmlNodePtr", "const char *", "const char *", "int", "gboolean")
23c78e
-int
23c78e
-pe__op_history_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+op_history_xml(pcmk__output_t *out, va_list args) {
23c78e
     xmlNodePtr xml_op = va_arg(args, xmlNodePtr);
23c78e
     const char *task = va_arg(args, const char *);
23c78e
     const char *interval_ms_s = va_arg(args, const char *);
23c78e
@@ -1676,7 +1676,8 @@ pe__op_history_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("resource-config", "pe_resource_t *", "gboolean")
23c78e
-int pe__resource_config(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+resource_config(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     gboolean raw = va_arg(args, gboolean);
23c78e
 
23c78e
@@ -1718,8 +1719,8 @@ pe__resource_history_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("resource-history", "pe_resource_t *", "const char *", "gboolean", "int", "time_t", "gboolean")
23c78e
-int
23c78e
-pe__resource_history_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+resource_history_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_resource_t *rsc = va_arg(args, pe_resource_t *);
23c78e
     const char *rsc_id = va_arg(args, const char *);
23c78e
     gboolean all = va_arg(args, gboolean);
23c78e
@@ -1762,8 +1763,8 @@ pe__resource_history_xml(pcmk__output_t *out, va_list args) {
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("resource-list", "pe_working_set_t *", "unsigned int", "gboolean",
23c78e
                   "gboolean", "gboolean", "gboolean", "GList *", "GList *", "gboolean")
23c78e
-int
23c78e
-pe__resource_list(pcmk__output_t *out, va_list args)
23c78e
+static int
23c78e
+resource_list(pcmk__output_t *out, va_list args)
23c78e
 {
23c78e
     pe_working_set_t *data_set = va_arg(args, pe_working_set_t *);
23c78e
     unsigned int print_opts = va_arg(args, unsigned int);
23c78e
@@ -1861,8 +1862,8 @@ pe__resource_list(pcmk__output_t *out, va_list args)
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("ticket", "pe_ticket_t *")
23c78e
-int
23c78e
-pe__ticket_html(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+ticket_html(pcmk__output_t *out, va_list args) {
23c78e
     pe_ticket_t *ticket = va_arg(args, pe_ticket_t *);
23c78e
 
23c78e
     if (ticket->last_granted > -1) {
23c78e
@@ -1903,8 +1904,8 @@ pe__ticket_text(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 PCMK__OUTPUT_ARGS("ticket", "pe_ticket_t *")
23c78e
-int
23c78e
-pe__ticket_xml(pcmk__output_t *out, va_list args) {
23c78e
+static int
23c78e
+ticket_xml(pcmk__output_t *out, va_list args) {
23c78e
     pe_ticket_t *ticket = va_arg(args, pe_ticket_t *);
23c78e
 
23c78e
     xmlNodePtr node = NULL;
23c78e
@@ -1923,10 +1924,10 @@ pe__ticket_xml(pcmk__output_t *out, va_list args) {
23c78e
 }
23c78e
 
23c78e
 static pcmk__message_entry_t fmt_functions[] = {
23c78e
-    { "ban", "html", pe__ban_html },
23c78e
+    { "ban", "html", ban_html },
23c78e
     { "ban", "log", pe__ban_text },
23c78e
     { "ban", "text", pe__ban_text },
23c78e
-    { "ban", "xml", pe__ban_xml },
23c78e
+    { "ban", "xml", ban_xml },
23c78e
     { "bundle", "xml",  pe__bundle_xml },
23c78e
     { "bundle", "html",  pe__bundle_html },
23c78e
     { "bundle", "text",  pe__bundle_text },
23c78e
@@ -1935,30 +1936,30 @@ static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "clone", "html",  pe__clone_html },
23c78e
     { "clone", "text",  pe__clone_text },
23c78e
     { "clone", "log",  pe__clone_text },
23c78e
-    { "cluster-counts", "html", pe__cluster_counts_html },
23c78e
+    { "cluster-counts", "html", cluster_counts_html },
23c78e
     { "cluster-counts", "log", pe__cluster_counts_text },
23c78e
     { "cluster-counts", "text", pe__cluster_counts_text },
23c78e
-    { "cluster-counts", "xml", pe__cluster_counts_xml },
23c78e
-    { "cluster-dc", "html", pe__cluster_dc_html },
23c78e
+    { "cluster-counts", "xml", cluster_counts_xml },
23c78e
+    { "cluster-dc", "html", cluster_dc_html },
23c78e
     { "cluster-dc", "log", pe__cluster_dc_text },
23c78e
     { "cluster-dc", "text", pe__cluster_dc_text },
23c78e
-    { "cluster-dc", "xml", pe__cluster_dc_xml },
23c78e
-    { "cluster-options", "html", pe__cluster_options_html },
23c78e
-    { "cluster-options", "log", pe__cluster_options_log },
23c78e
+    { "cluster-dc", "xml", cluster_dc_xml },
23c78e
+    { "cluster-options", "html", cluster_options_html },
23c78e
+    { "cluster-options", "log", cluster_options_log },
23c78e
     { "cluster-options", "text", pe__cluster_options_text },
23c78e
-    { "cluster-options", "xml", pe__cluster_options_xml },
23c78e
+    { "cluster-options", "xml", cluster_options_xml },
23c78e
     { "cluster-summary", "default", pe__cluster_summary },
23c78e
-    { "cluster-summary", "html", pe__cluster_summary_html },
23c78e
-    { "cluster-stack", "html", pe__cluster_stack_html },
23c78e
+    { "cluster-summary", "html", cluster_summary_html },
23c78e
+    { "cluster-stack", "html", cluster_stack_html },
23c78e
     { "cluster-stack", "log", pe__cluster_stack_text },
23c78e
     { "cluster-stack", "text", pe__cluster_stack_text },
23c78e
-    { "cluster-stack", "xml", pe__cluster_stack_xml },
23c78e
-    { "cluster-times", "html", pe__cluster_times_html },
23c78e
+    { "cluster-stack", "xml", cluster_stack_xml },
23c78e
+    { "cluster-times", "html", cluster_times_html },
23c78e
     { "cluster-times", "log", pe__cluster_times_text },
23c78e
     { "cluster-times", "text", pe__cluster_times_text },
23c78e
-    { "cluster-times", "xml", pe__cluster_times_xml },
23c78e
+    { "cluster-times", "xml", cluster_times_xml },
23c78e
     { "failed-action", "default", pe__failed_action_text },
23c78e
-    { "failed-action", "xml", pe__failed_action_xml },
23c78e
+    { "failed-action", "xml", failed_action_xml },
23c78e
     { "group", "xml",  pe__group_xml },
23c78e
     { "group", "html",  pe__group_html },
23c78e
     { "group", "text",  pe__group_text },
23c78e
@@ -1968,30 +1969,30 @@ static pcmk__message_entry_t fmt_functions[] = {
23c78e
     { "node", "log", pe__node_text },
23c78e
     { "node", "text", pe__node_text },
23c78e
     { "node", "xml", pe__node_xml },
23c78e
-    { "node-and-op", "default", pe__node_and_op },
23c78e
-    { "node-and-op", "xml", pe__node_and_op_xml },
23c78e
-    { "node-list", "html", pe__node_list_html },
23c78e
+    { "node-and-op", "default", node_and_op },
23c78e
+    { "node-and-op", "xml", node_and_op_xml },
23c78e
+    { "node-list", "html", node_list_html },
23c78e
     { "node-list", "log", pe__node_list_text },
23c78e
     { "node-list", "text", pe__node_list_text },
23c78e
-    { "node-list", "xml", pe__node_list_xml },
23c78e
-    { "node-attribute", "html", pe__node_attribute_html },
23c78e
+    { "node-list", "xml", node_list_xml },
23c78e
+    { "node-attribute", "html", node_attribute_html },
23c78e
     { "node-attribute", "log", pe__node_attribute_text },
23c78e
     { "node-attribute", "text", pe__node_attribute_text },
23c78e
-    { "node-attribute", "xml", pe__node_attribute_xml },
23c78e
+    { "node-attribute", "xml", node_attribute_xml },
23c78e
     { "op-history", "default", pe__op_history_text },
23c78e
-    { "op-history", "xml", pe__op_history_xml },
23c78e
+    { "op-history", "xml", op_history_xml },
23c78e
     { "primitive", "xml",  pe__resource_xml },
23c78e
     { "primitive", "html",  pe__resource_html },
23c78e
     { "primitive", "text",  pe__resource_text },
23c78e
     { "primitive", "log",  pe__resource_text },
23c78e
-    { "resource-config", "default", pe__resource_config },
23c78e
+    { "resource-config", "default", resource_config },
23c78e
     { "resource-history", "default", pe__resource_history_text },
23c78e
-    { "resource-history", "xml", pe__resource_history_xml },
23c78e
-    { "resource-list", "default", pe__resource_list },
23c78e
-    { "ticket", "html", pe__ticket_html },
23c78e
+    { "resource-history", "xml", resource_history_xml },
23c78e
+    { "resource-list", "default", resource_list },
23c78e
+    { "ticket", "html", ticket_html },
23c78e
     { "ticket", "log", pe__ticket_text },
23c78e
     { "ticket", "text", pe__ticket_text },
23c78e
-    { "ticket", "xml", pe__ticket_xml },
23c78e
+    { "ticket", "xml", ticket_xml },
23c78e
 
23c78e
     { NULL, NULL, NULL }
23c78e
 };
23c78e
-- 
23c78e
1.8.3.1
23c78e