g_slist_length(tmp), g_slist_length(result),
g_list_length(tmp), g_list_length(result),
create_action_set(action_t *action){	int lpc;	GSListPtr tmp = NULL;	GSListPtr result = NULL;	gboolean preceeding_complete = FALSE;	if(action->processed) {		return NULL;	}	crm_debug_action(print_action("Create action set for", action, FALSE));		// process actions_before	if(action->seen_count == 0) {		crm_verbose("Processing \"before\" for action %d", action->id);		slist_iter(			other, action_wrapper_t, action->actions_before, lpc,			tmp = create_action_set(other->action);			crm_verbose("%d (%d total) \"before\" actions for %d)",			       g_slist_length(tmp), g_slist_length(result),			       action->id);			result = g_slist_concat(result, tmp);			preceeding_complete = TRUE;			);			} else {		crm_verbose("Already seen action %d", action->id);		crm_verbose("Processing \"before\" for action %d", action->id);		slist_iter(			other, action_wrapper_t, action->actions_before, lpc,						if(other->action->seen_count > action->seen_count			   && other->strength == must) {				tmp = create_action_set(other->action);				crm_verbose("%d (%d total) \"before\" actions for %d)",				       g_slist_length(tmp),				       g_slist_length(result),				       action->id);				result = g_slist_concat(result, tmp);			}				);	}		// add ourselves	if(action->runnable) {		if(action->processed == FALSE) {			crm_verbose("Adding self %d", action->id);			result = g_slist_append(result, action);		} else {			crm_verbose("Already added self %d", action->id);		}			} else {		crm_verbose("Skipping ourselves, we're not runnable");	}	action->processed = TRUE;		if(preceeding_complete == FALSE) {				// add strength == !MUST		slist_iter(			other, action_wrapper_t, action->actions_before, lpc,						tmp = create_action_set(other->action);			crm_verbose("%d (%d total) post-self \"before\" actions for %d)",			       g_slist_length(tmp), g_slist_length(result),action->id);			result = g_slist_concat(result, tmp);			);	}	action->seen_count = action->seen_count + 1;		/* process actions_after	 *	 * do this regardless of whether we are runnable.  Any direct or	 *  indirect hard/XML_STRENGTH_VAL_MUST dependancies on us will have been picked	 *  up earlier on in stage 7	 */	crm_verbose("Processing \"after\" for action %d", action->id);	slist_iter(		other, action_wrapper_t, action->actions_after, lpc,				tmp = create_action_set(other->action);		crm_verbose("%d (%d total) \"after\" actions for %d)",		       g_slist_length(tmp), g_slist_length(result),action->id);		result = g_slist_concat(result, tmp);		);		return result;}