if(g_slist_length(*colors) < max_valid_nodes  
if(g_list_length(*colors) < max_valid_nodes  
strict_preproc(rsc_to_rsc_t *constraint,	       color_t *local_color,	       color_t *other_color,	       GSListPtr *colors,	       GSListPtr resources){	resource_t * lh_resource = constraint->rsc_lh;	switch(constraint->strength) {		case must:			if(constraint->rsc_rh->runnable == FALSE) {				crm_warn("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;			}			crm_verbose("# 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(colors,					     lh_resource->allowed_nodes,					     resources);			} 									break;		case must_not:			if(constraint->rsc_rh->provisional == FALSE				&& local_color->id != no_color->id) {				lh_resource->candidate_colors =					g_slist_remove(						lh_resource->candidate_colors,						local_color);				crm_debug_action(					print_color("Removed",						    local_color,						    FALSE));				// surely this is required... but mtrace says no...//				crm_free(local_color);			}			break;		default:			// error			break;	}	return TRUE;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/e2af967c9ab8547b2c4711f40f7b2882bb4de284/pengine.c/buggy/crm/pengine/pengine.c