if(g_slist_length(colors) < max_valid_nodes
if(g_slist_length(*colors) < max_valid_nodes
strict_preproc(rsc_to_rsc_t *constraint,	       color_t *local_color,	       color_t *other_color){	resource_t * lh_resource = constraint->rsc_lh;	switch(constraint->strength) {		case must:			if(constraint->rsc_rh->runnable == FALSE) {				cl_log(LOG_WARNING,				       "Resource %s must run on the same node"				       " as %s (cons %s), but %s is not"				       " runnable.",				       constraint->rsc_lh->id,				       constraint->rsc_rh->id,				       constraint->id,				       constraint->rsc_rh->id);				constraint->rsc_lh->runnable = FALSE;			}			break;						// x * should * should_not = x		case should:			if(constraint->rsc_rh->provisional == FALSE) {				local_color->local_weight = 					local_color->local_weight * 2.0;			}				break;		case should_not:			if(constraint->rsc_rh->provisional == FALSE) {				local_color->local_weight = 					local_color->local_weight * 0.5;			}			pdebug("# Colors %d, Nodes %d",				      g_slist_length(colors),				      max_valid_nodes);			       			if(g_slist_length(colors) < max_valid_nodes//			   && g_slist_length(lh_resource->candidate_colors)==1				) {//				create_color(lh_resource->allowed_nodes);//			} else if(g_slist_length(lh_resource->candidate_colors)==1) {				create_color(lh_resource->allowed_nodes, FALSE);			} 									break;		case must_not:			if(constraint->rsc_rh->provisional == FALSE) {				lh_resource->candidate_colors =					g_slist_remove(						lh_resource->candidate_colors,						local_color);			}			break;		default:			// error			break;	}	return TRUE;}