if(create_only == FALSE) { colors = g_slist_append(colors, new_color);
if(colors != NULL) { *colors = g_slist_append(*colors, new_color); }  if(resources != NULL) {
create_color(GSListPtr nodes, gboolean create_only){	int lpc = 0;	color_t *new_color = cl_malloc(sizeof(color_t));	new_color->id = color_id++;	new_color->local_weight = 1.0;	new_color->details = cl_malloc(sizeof(struct color_shared_s));	new_color->details->chosen_node = NULL; 	new_color->details->candidate_nodes = node_list_dup(nodes);	pdebug_action(print_color("Created color", new_color, TRUE));	if(create_only == FALSE) {		colors = g_slist_append(colors, new_color);      				/*  Add any new color to the list of candidate_colors for		 * resources that havent been decided yet 		 */		slist_iter(			rsc, resource_t, rsc_list, lpc,			if(rsc->provisional && rsc->runnable) {				add_color_to_rsc(rsc, new_color);			}			);	}		return new_color;}