MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / dump_xml

Function dump_xml

lib/common/xml.c:915–950  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

913}
914
915static char *
916dump_xml(xmlNode *an_xml_node, gboolean formatted, gboolean for_digest)
917{
918 int len = 0;
919 char *buffer = NULL;
920 xmlBuffer *xml_buffer = NULL;
921 xmlDoc *doc = getDocPtr(an_xml_node);
922
923 /* doc will only be NULL if an_xml_node is */
924 CRM_CHECK(doc != NULL, return NULL);
925
926 xml_buffer = xmlBufferCreate();
927 CRM_ASSERT(xml_buffer != NULL);
928
929 len = xmlNodeDump(xml_buffer, doc, an_xml_node, 0, formatted);
930
931 if(len > 0) {
932 /* The copying here isn't ideal, but it doesn't even register
933 * in the perf numbers
934 */
935 if(for_digest) {
936 /* for compatability with the old result which is used for digests */
937 len += 3;
938 buffer = calloc(1, len);
939 snprintf(buffer, len, " %s\n", (char *)xml_buffer->content);
940 } else {
941 buffer = strdup((char *)xml_buffer->content);
942 }
943
944 } else {
945 crm_err("Conversion failed");
946 }
947
948 xmlBufferFree(xml_buffer);
949 return buffer;
950}
951
952char *
953dump_xml_formatted(xmlNode *an_xml_node)

Callers 3

dump_xml_formattedFunction · 0.85
dump_xml_unformattedFunction · 0.85
calculate_xml_digest_v1Function · 0.85

Calls 1

getDocPtrFunction · 0.85

Tested by

no test coverage detected