summary(GSListPtr resources)
summary(GListPtr resources)
summary(GSListPtr resources){	int lpc = 0;	slist_iter(		rsc, resource_t, resources, lpc,		char *rsc_id = safe_val(NULL, rsc, id);		char *node_id = safe_val4(NULL, rsc, cur_node, details, id);		char *new_node_id = safe_val6(NULL, rsc, color, details,					      chosen_node, details, id);		if(rsc->runnable == FALSE) {			crm_err("Resource %s was not runnable", rsc_id);			if(node_id != NULL) {				crm_warn("Stopping Resource (%s) on node %s",					 rsc_id, node_id);			}		} else if(safe_val4(NULL, rsc, color, details, chosen_node) == NULL) {			crm_err("Could not allocate Resource %s", rsc_id);			crm_debug_action(				print_resource("Could not allocate",rsc,TRUE));			if(node_id != NULL) {								crm_warn("Stopping Resource (%s) on node %s",					 rsc_id,					 node_id);			}					} else if(safe_str_eq(node_id, new_node_id)){			crm_debug("No change for Resource %s (%s)",				  rsc_id,				  safe_val4(NULL, rsc, cur_node, details, id));					} else if(node_id == NULL) {			crm_info("Starting Resource %s on %s",				 rsc_id,				 new_node_id);					} else {			crm_info("Moving Resource %s from %s to %s",				 rsc_id,				 node_id,				 new_node_id);		}		);			return TRUE;}