crm_xml_devel(data, "[TE imput]"); message  = copy_xml_node_recursive((xmlNodePtr)data); opts  = find_xml_node(message, XML_TAG_OPTIONS);
crm_xml_devel(data, "[TE input]");  message_copy = copy_xml_node_recursive(message); opts  = find_xml_node(message_copy, XML_TAG_OPTIONS);
do_te_copyto(long long action,	     enum crmd_fsa_cause cause,	     enum crmd_fsa_state cur_state,	     enum crmd_fsa_input current_input,	     void *data){	xmlNodePtr message  = NULL;	xmlNodePtr opts     = NULL;	const char *true_op = NULL;			if(data != NULL) {		crm_xml_devel(data, "[TE imput]");		message  = copy_xml_node_recursive((xmlNodePtr)data);		opts  = find_xml_node(message, XML_TAG_OPTIONS);		true_op = xmlGetProp(opts, XML_ATTR_OP);				set_xml_property_copy(opts, XML_ATTR_OP, CRM_OP_EVENTCC);		set_xml_property_copy(opts, XML_ATTR_TRUEOP, true_op);		set_xml_property_copy(			message, XML_ATTR_SYSTO, CRM_SYSTEM_TENGINE);	}	if(is_set(fsa_input_register, R_TE_CONNECTED) == FALSE){		crm_info("Waiting for the TE to connect");		if(data != NULL) {			free_xml(te_lastcc);			te_lastcc = message;		}		return I_WAIT_FOR_EVENT;	}	if(message == NULL) {		message = te_lastcc;		te_lastcc = NULL;			} else {		free_xml(te_lastcc);	}		relay_message(message, FALSE);	/* only free it if it was a local copy */	if(data == NULL) {		free_xml(message);	}		return I_NULL;}