>= fsa_membership_copy->members_size) { 
>= fsa_membership_copy->members_size) { 
do_dc_join_req(long long action,		    enum crmd_fsa_cause cause,		    enum crmd_fsa_state cur_state,		    enum crmd_fsa_input current_input,		    void *data){	xmlNodePtr generation;	xmlNodePtr join_ack = (xmlNodePtr)data;	const char *ack_nack = "memeber";	gboolean is_a_member  = FALSE;	const char *join_from = xmlGetProp(join_ack, XML_ATTR_HOSTFROM);	const char *ref       = xmlGetProp(join_ack, XML_ATTR_REFERENCE);	gpointer join_node =		g_hash_table_lookup(fsa_membership_copy->members, join_from);	if(join_node != NULL) {		is_a_member = TRUE;	}		generation = find_xml_node(join_ack, "generation_tuple");	crm_debug("Welcoming node %s after ACK (ref %s)",	       join_from, ref);		if(is_a_member == FALSE) {		crm_err("Node %s is not known to us (ref %s)",		       join_from, ref);		/* NACK them */		return I_FAIL;	} else if(/* some reason */ 0) {		/* NACK this client */		ack_nack = "down";	}			/* add them to our list of CRMD_STATE_ACTIVE nodes	   TODO: check its not already there	*/	g_hash_table_insert(join_requests,			    crm_strdup(join_from), crm_strdup(ack_nack));/* No point hanging around in S_INTEGRATION if we're the only ones here! */	if(g_hash_table_size(join_requests)		  >= fsa_membership_copy->members_size) {		crm_info("That was the last outstanding join ack");		return I_SUCCESS;	}	/* dont waste time by invoking the pe yet; */	crm_debug("Still waiting on %d outstanding join acks",		  fsa_membership_copy->members_size		  - g_hash_table_size(join_requests));		return I_NULL;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/0b277689308ba786dca3c695c9a2c7f5f4c7d646/join_dc.c/buggy/crm/crmd/join_dc.c