X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f1d339f0c67f9151c4e898de4b9cc457288162a0..13fb4af932a02ea0bd4293d1e55ac071de326f80:/src/xbt/automaton/automaton.c diff --git a/src/xbt/automaton/automaton.c b/src/xbt/automaton/automaton.c index 8be963d7ff..008ead8886 100644 --- a/src/xbt/automaton/automaton.c +++ b/src/xbt/automaton/automaton.c @@ -35,7 +35,7 @@ xbt_automaton_state_t xbt_automaton_state_new(xbt_automaton_t a, int type, char* state->type = type; state->id = xbt_strdup(id); state->in = xbt_dynar_new(sizeof(xbt_automaton_transition_t), xbt_automaton_transition_free_voidp); - state->out = xbt_dynar_new(sizeof(xbt_automaton_transition_t), xbt_automaton_transition_free_voidp); + state->out = xbt_dynar_new(sizeof(xbt_automaton_transition_t), xbt_automaton_transition_free_voidp); xbt_dynar_push(a->states, &state); return state; } @@ -57,8 +57,7 @@ xbt_automaton_transition_t xbt_automaton_transition_new(xbt_automaton_t a, xbt_a } xbt_automaton_exp_label_t xbt_automaton_exp_label_new(int type, ...){ - xbt_automaton_exp_label_t label = NULL; - label = xbt_new0(struct xbt_automaton_exp_label, 1); + xbt_automaton_exp_label_t label = xbt_new0(struct xbt_automaton_exp_label, 1); label->type = type; xbt_automaton_exp_label_t left; xbt_automaton_exp_label_t right; @@ -168,33 +167,32 @@ void xbt_automaton_display(xbt_automaton_t a){ } void xbt_automaton_exp_label_display(xbt_automaton_exp_label_t label){ + printf("("); switch(label->type){ - case 0 : - printf("("); - xbt_automaton_exp_label_display(label->u.or_and.left_exp); - printf(" || "); - xbt_automaton_exp_label_display(label->u.or_and.right_exp); - printf(")"); - break; - case 1 : - printf("("); - xbt_automaton_exp_label_display(label->u.or_and.left_exp); - printf(" && "); - xbt_automaton_exp_label_display(label->u.or_and.right_exp); - printf(")"); - break; - case 2 : - printf("(!"); - xbt_automaton_exp_label_display(label->u.exp_not); - printf(")"); - break; - case 3 : - printf("(%s)",label->u.predicat); - break; - case 4 : - printf("(1)"); - break; + case 0: + xbt_automaton_exp_label_display(label->u.or_and.left_exp); + printf(" || "); + xbt_automaton_exp_label_display(label->u.or_and.right_exp); + break; + case 1: + xbt_automaton_exp_label_display(label->u.or_and.left_exp); + printf(" && "); + xbt_automaton_exp_label_display(label->u.or_and.right_exp); + break; + case 2: + printf("!"); + xbt_automaton_exp_label_display(label->u.exp_not); + break; + case 3: + printf("%s", label->u.predicat); + break; + case 4: + printf("1"); + break; + default: + break; } + printf(")"); } xbt_automaton_state_t xbt_automaton_get_current_state(xbt_automaton_t a){ @@ -210,7 +208,7 @@ xbt_automaton_propositional_symbol_t xbt_automaton_propositional_symbol_new(xbt_ xbt_automaton_propositional_symbol_t prop_symb = NULL; prop_symb = xbt_new0(struct xbt_automaton_propositional_symbol, 1); prop_symb->pred = xbt_strdup(id); - prop_symb->callback = call_simple_function; + prop_symb->callback = &call_simple_function; prop_symb->data = fct; prop_symb->free_function = NULL; xbt_dynar_push(a->propositional_symbols, &prop_symb); @@ -285,7 +283,7 @@ int xbt_automaton_transition_compare(const void *t1, const void *t2){ if(xbt_automaton_state_compare(((xbt_automaton_transition_t)t1)->src, ((xbt_automaton_transition_t)t2)->src)) return 1; - + if(xbt_automaton_state_compare(((xbt_automaton_transition_t)t1)->dst, ((xbt_automaton_transition_t)t2)->dst)) return 1; @@ -293,7 +291,7 @@ int xbt_automaton_transition_compare(const void *t1, const void *t2){ return 1; return 0; - + } int xbt_automaton_exp_label_compare(xbt_automaton_exp_label_t l1, xbt_automaton_exp_label_t l2){ @@ -302,7 +300,7 @@ int xbt_automaton_exp_label_compare(xbt_automaton_exp_label_t l1, xbt_automaton_ return 1; switch(l1->type){ - case 0 : // OR + case 0 : // OR case 1 : // AND if(xbt_automaton_exp_label_compare(l1->u.or_and.left_exp, l2->u.or_and.left_exp)) return 1; @@ -325,16 +323,14 @@ int xbt_automaton_exp_label_compare(xbt_automaton_exp_label_t l1, xbt_automaton_ } int xbt_automaton_propositional_symbols_compare_value(xbt_dynar_t s1, xbt_dynar_t s2){ - int *iptr1, *iptr2; - unsigned int cursor; unsigned int nb_elem = xbt_dynar_length(s1); - for(cursor=0;cursorid); xbt_dynar_free(&(s->in)); xbt_dynar_free(&(s->out)); xbt_free(s); - s = NULL; } }