const char *allow_fail  = NULL; 
match_down_event(const char *target, const char *filter, int rc){	const char *allow_fail  = NULL;	const char *this_action = NULL;	const char *this_node   = NULL;	action_t *match = NULL;	slist_iter(		synapse, synapse_t, graph, lpc,		/* lookup event */		slist_iter(			action, action_t, synapse->actions, lpc2,			this_action = crm_element_value(				action->xml, XML_LRM_ATTR_TASK);			if(action->type != action_type_crm) {				continue;			} else if(safe_str_eq(this_action, CRM_OP_LRM_REFRESH)){				continue;							} else if(filter != NULL				  && safe_str_neq(this_action, filter)) {				continue;			}						this_node = crm_element_value(				action->xml, XML_LRM_ATTR_TARGET_UUID);			if(this_node == NULL) {				crm_log_xml_err(action->xml, "No node uuid");			}						if(safe_str_neq(this_node, target)) {				crm_debug("Action %d : Node mismatch: %s",					 action->id, this_node);				continue;			}			match = action;			break;			);		if(match != NULL) {			break;		}		);		if(match == NULL) {		crm_debug_3("didnt match current action");		return -1;	}	crm_debug_3("matched");	/* stop this event's timer if it had one */	stop_te_timer(match->timer);	match->complete = TRUE;		/* Process OP status */	switch(rc) {		case STONITH_SUCCEEDED:			break;		case STONITH_CANNOT:		case STONITH_TIMEOUT:		case STONITH_GENERIC:			match->failed = TRUE;			allow_fail = g_hash_table_lookup(				match->params, XML_ATTR_TE_ALLOWFAIL);			if(FALSE == crm_is_true(allow_fail)) {				crm_err("Stonith of %s failed (%d)..."					" aborting transition.", target, rc);				send_complete("Stonith failed",					      match->xml, te_failed, i_cancel);				return -2;			}			break;		default:			crm_err("Unsupported action result: %d", rc);			send_complete("Unsupport Stonith result",				      match->xml, te_failed, i_cancel);			return -3;	}		crm_debug_3("Action %d was successful, looking for next action",		match->id);	return match->id;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/225b3365ce65eff3998086d8784c5fb0dc5fbbbb/tengine.c/buggy/crm/tengine/tengine.c