color_t *color_lh = native_data_lh->color; color_t *color_rh = native_data_rh->color;
color_t *color_lh = NULL; color_t *color_rh = NULL;
native_constraint_violated(	resource_t *rsc_lh, resource_t *rsc_rh, rsc_dependancy_t *constraint){	native_variant_data_t *native_data_lh =		(native_variant_data_t *)rsc_lh->variant_opaque;	native_variant_data_t *native_data_rh =		(native_variant_data_t *)rsc_rh->variant_opaque;	GListPtr result = NULL;	color_t *color_lh = native_data_lh->color;	color_t *color_rh = native_data_rh->color;	GListPtr candidate_nodes_lh = NULL;	GListPtr candidate_nodes_rh = NULL;	gboolean matched = FALSE;	if(constraint->strength == pecs_must_not) {		matched = TRUE;	}				if(rsc_lh->provisional || rsc_rh->provisional) {		return FALSE;	}		if(color_lh->details->pending	   && color_rh->details->pending) {		candidate_nodes_lh = color_lh->details->candidate_nodes;		candidate_nodes_rh = color_rh->details->candidate_nodes;			} else if(color_lh->details->pending == FALSE		  && color_rh->details->pending == FALSE) {		if(color_lh == NULL && color_rh == NULL) {			return matched;					} else if(color_lh == NULL || color_rh == NULL) {			return !matched;		} else if(color_lh->details->chosen_node == NULL			  && color_rh->details->chosen_node == NULL) {			return matched;		} else if(color_lh->details->chosen_node == NULL			  || color_rh->details->chosen_node == NULL) {			return !matched;		} else if(safe_str_eq(				  color_lh->details->chosen_node->details->id,				  color_rh->details->chosen_node->details->id)) {			return matched;		}		return !matched;			} else if(color_lh->details->pending) {		candidate_nodes_lh = color_lh->details->candidate_nodes;		candidate_nodes_rh = g_list_append(			NULL, color_rh->details->chosen_node);	} else if(color_rh->details->pending) {		candidate_nodes_rh = color_rh->details->candidate_nodes;		candidate_nodes_lh = g_list_append(			NULL, color_lh->details->chosen_node);	}	result = node_list_and(candidate_nodes_lh, candidate_nodes_rh, TRUE);	if(g_list_length(result) == 0 && constraint->strength == pecs_must) {		/* free result */		return TRUE;	}	return FALSE;}