version 1.31, 2011/06/17 07:55:59
|
version 1.32, 2011/06/17 08:47:43
|
Line 178 ajout_variable(struct_processus *s_etat_
|
Line 178 ajout_variable(struct_processus *s_etat_
|
(*(*l_variable_courante).feuille).precedent = |
(*(*l_variable_courante).feuille).precedent = |
(*l_variable_courante).feuille; |
(*l_variable_courante).feuille; |
(*(*l_variable_courante).feuille).noeud_pere = l_variable_precedente; |
(*(*l_variable_courante).feuille).noeud_pere = l_variable_precedente; |
|
(*(*l_variable_courante).feuille).noeud = l_variable_courante; |
|
|
// Allocation de la variable sur l'élément de la liste. |
// Allocation de la variable sur l'élément de la liste. |
|
|
Line 736 retrait_variable(struct_processus *s_eta
|
Line 737 retrait_variable(struct_processus *s_eta
|
|
|
struct_arbre_variables *s_arbre_a_supprimer; |
struct_arbre_variables *s_arbre_a_supprimer; |
struct_arbre_variables *s_arbre_courant; |
struct_arbre_variables *s_arbre_courant; |
|
struct_arbre_variables *noeud_courant; |
|
|
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_element_precedent; |
struct_liste_chainee *l_element_precedent; |
Line 826 retrait_variable(struct_processus *s_eta
|
Line 828 retrait_variable(struct_processus *s_eta
|
variable_a_supprimer = (*s_etat_processus) |
variable_a_supprimer = (*s_etat_processus) |
.pointeur_feuille_courante; |
.pointeur_feuille_courante; |
s_arbre_courant = (*variable_a_supprimer).noeud_pere; |
s_arbre_courant = (*variable_a_supprimer).noeud_pere; |
|
noeud_courant = (*variable_a_supprimer).noeud; |
|
|
BUG((*s_arbre_courant).noeuds_utilises == 0, |
BUG((*s_arbre_courant).noeuds_utilises == 0, |
uprintf("Freed node !\n")); |
uprintf("Freed node !\n")); |
Line 875 retrait_variable(struct_processus *s_eta
|
Line 878 retrait_variable(struct_processus *s_eta
|
(*(*(*s_etat_processus).pointeur_feuille_courante).suivant) |
(*(*(*s_etat_processus).pointeur_feuille_courante).suivant) |
.precedent = (*(*s_etat_processus) |
.precedent = (*(*s_etat_processus) |
.pointeur_feuille_courante).precedent; |
.pointeur_feuille_courante).precedent; |
|
|
|
noeud_courant = NULL; |
} |
} |
|
|
// Dans tous les cas, on retire la variable de la liste des variables |
// Dans tous les cas, on retire la variable de la liste des variables |
Line 939 retrait_variable(struct_processus *s_eta
|
Line 944 retrait_variable(struct_processus *s_eta
|
|
|
free((*(*variable_a_supprimer).variable).nom); |
free((*(*variable_a_supprimer).variable).nom); |
liberation(s_etat_processus, (*(*variable_a_supprimer).variable).objet); |
liberation(s_etat_processus, (*(*variable_a_supprimer).variable).objet); |
|
free((*variable_a_supprimer).variable); |
|
|
erreur = d_absence_erreur; |
erreur = d_absence_erreur; |
|
|
|
if (noeud_courant != NULL) |
|
{ |
|
free((*noeud_courant).feuille); |
|
free((*noeud_courant).noeuds); |
|
free(noeud_courant); |
|
} |
} |
} |
else |
else |
{ |
{ |