char *xml_text = dump_xml_unformatted(xml_response_data); ha_msg_add(reply, F_CRM_DATA, xml_text); crm_free(xml_text);
add_message_xml(reply, F_CRM_DATA, xml_response_data);
create_reply_adv(HA_Message *original_request,		 crm_data_t *xml_response_data, const char *origin){	HA_Message *reply = NULL;	const char *host_from= cl_get_string(original_request, F_CRM_HOST_FROM);	const char *sys_from = cl_get_string(original_request, F_CRM_SYS_FROM);	const char *sys_to   = cl_get_string(original_request, F_CRM_SYS_TO);	const char *type     = cl_get_string(original_request, F_CRM_MSG_TYPE);	const char *operation= cl_get_string(original_request, F_CRM_TASK);	const char *crm_msg_reference = cl_get_string(		original_request, XML_ATTR_REFERENCE);		if (type == NULL) {		crm_err("Cannot create new_message,"			" no message type in original message");		return NULL;#if 0	} else if (strcmp(XML_ATTR_REQUEST, type) != 0) {		crm_err("Cannot create new_message,"			" original message was not a request");		return NULL;#endif	}	reply = ha_msg_new(10);	ha_msg_add(reply, F_CRM_ORIGIN,		origin);	ha_msg_add(reply, F_TYPE,		T_CRM);	ha_msg_add(reply, F_CRM_VERSION,	CRM_VERSION);	ha_msg_add(reply, F_CRM_MSG_TYPE,	XML_ATTR_RESPONSE);	ha_msg_add(reply, XML_ATTR_REFERENCE,	crm_msg_reference);	ha_msg_add(reply, F_CRM_TASK,		operation);	/* since this is a reply, we reverse the from and to */	ha_msg_add(reply, F_CRM_SYS_TO,		sys_from);	ha_msg_add(reply, F_CRM_SYS_FROM,	sys_to);		/* HOSTTO will be ignored if it is to the DC anyway. */	if(host_from != NULL && strlen(host_from) > 0) {		ha_msg_add(reply, F_CRM_HOST_TO, host_from);	}	if (xml_response_data != NULL) {		char *xml_text = dump_xml_unformatted(xml_response_data);		ha_msg_add(reply, F_CRM_DATA, xml_text);		crm_free(xml_text);	}	return reply;}