xmlNodePtr tmp1          = find_xml_node(welcome, XML_TAG_OPTIONS);
xmlNodePtr tmp1          = find_xml_node(welcome, XML_TAG_OPTIONS,TRUE);
do_cl_join_result(long long action,	    enum crmd_fsa_cause cause,	    enum crmd_fsa_state cur_state,	    enum crmd_fsa_input current_input,	    fsa_data_t *msg_data){	gboolean   was_nack      = TRUE;	xmlNodePtr welcome       = (xmlNodePtr)msg_data->data;	xmlNodePtr tmp1          = find_xml_node(welcome, XML_TAG_OPTIONS);	const char *ack_nack     = xmlGetProp(tmp1, CRM_OP_JOINACK);	const char *welcome_from = xmlGetProp(welcome, XML_ATTR_HOSTFROM);	/* calculate if it was an ack or a nack */	if(safe_str_eq(ack_nack, XML_BOOLEAN_TRUE)) {		was_nack = FALSE;	}		if(was_nack) {		crm_err("Join with %s failed.  NACK'd", welcome_from);		return I_ERROR;	}		/* send our status section to the DC */	tmp1 = do_lrm_query(TRUE);	if(tmp1 != NULL) {		crm_debug("Sending local LRM status");		send_ha_reply(fsa_cluster_conn, welcome, tmp1);		free_xml(tmp1);			} else {		crm_err("Could send our LRM state to the DC");		return I_FAIL;	}		register_fsa_input(cause, I_NOT_DC, NULL);	return I_NULL;}