static void new_state(char* id, int src){
- char* id_state = xbt_strdup(id);
- char* first_part = strtok(id,"_");
+ char* id_copy = xbt_strdup(id);
+ char* first_part = strtok(id_copy,"_");
int type = 0 ; // -1=initial state; 0=intermediate state; 1=final state
if(strcmp(first_part,"accept")==0){
type = -1;
}
}
+ free(id_copy);
xbt_automaton_state_t state = NULL;
- state = xbt_automaton_state_exists(parsed_automaton, id_state);
+ state = xbt_automaton_state_exists(parsed_automaton, id);
if(state == NULL){
- state = xbt_automaton_state_new(parsed_automaton, type, id_state);
+ state = xbt_automaton_state_new(parsed_automaton, type, id);
}
if(type==-1)
parsed_automaton->current_state = state;
if(src)
- state_id_src = xbt_strdup(id_state);
+ state_id_src = xbt_strdup(id);
}