"Attempt to send an invalid XML Message via HA failed.");
"Failed sending an invalid XML Message via HA");
send_xmlha_message(ll_cluster_t *hb_fd, xmlNodePtr root){	gboolean all_is_good = TRUE;	const char *host_to = NULL;	const char *sys_to = NULL;	FNIN();    	if (root == NULL) {		cl_log(LOG_INFO, "Attempt to send a NULL Message via HA failed.");		all_is_good = FALSE;		CRM_DEBUG2("Supplied XML data was %s.",			   all_is_good?"present":"empty");	}	struct ha_msg *msg = NULL;	if (all_is_good) {		msg = ha_msg_new(4); 		ha_msg_add(msg, F_TYPE, "CRM");		ha_msg_add(msg, F_COMMENT, "A CRM xml message");		char *xml_text = dump_xml(root);			if (xml_text == NULL)		{			cl_log(LOG_INFO,			       "Attempt to send an invalid XML Message via HA failed.");			all_is_good = FALSE;		}		else			ha_msg_add(msg, "xml", xml_text);		CRM_DEBUG2("Adding XML to HA message %s.",			   all_is_good?"succeeded":"failed");	}	if (all_is_good) {		host_to = xmlGetProp(root, XML_ATTR_HOSTTO);		sys_to = xmlGetProp(root, XML_ATTR_SYSTO);		if (sys_to == NULL || strlen(sys_to) == 0)		{			cl_log(LOG_INFO,			       "You did not specify a destination for this message.");			all_is_good = FALSE;		}		CRM_DEBUG2("Destination of HA message is %s.",			   all_is_good?"invalid":sys_to);		}	if (all_is_good) {		gboolean broadcast = FALSE;		CRM_DEBUG("Sending HA Message.");		if (host_to == NULL		    || strlen(host_to) == 0		    || strcmp("dc", sys_to) == 0)		{			broadcast = TRUE;			hb_fd->llc_ops->sendclustermsg(hb_fd, msg);		}		else			hb_fd->llc_ops->sendnodemsg(hb_fd, msg, host_to);		CRM_DEBUG2("Sent a %s HA message.",			   broadcast?"broadcast":"directed");	}//    if(msg) ha_msg_del(msg);	CRM_DEBUG2("Sending of HA message %s.",		   all_is_good?"succeeded":"failed");	FNRET(all_is_good);}