version 1.60, 2012/10/05 13:12:39
|
version 1.63, 2012/10/08 07:37:06
|
Line 237 liste_variables_par_feuilles(struct_proc
|
Line 237 liste_variables_par_feuilles(struct_proc
|
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
static inline struct_arbre_variables * |
struct_arbre_variables * |
allocation_noeud(struct_processus *s_etat_processus) |
allocation_noeud(struct_processus *s_etat_processus) |
{ |
{ |
struct_arbre_variables *objet; |
struct_arbre_variables *objet; |
Line 272 liberation_noeud(struct_processus *s_eta
|
Line 272 liberation_noeud(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
static inline struct_arbre_variables ** |
struct_arbre_variables ** |
allocation_tableau_noeuds(struct_processus *s_etat_processus) |
allocation_tableau_noeuds(struct_processus *s_etat_processus) |
{ |
{ |
struct_arbre_variables **objet; |
struct_arbre_variables **objet; |
Line 1712 liberation_arbre_variables(struct_proces
|
Line 1712 liberation_arbre_variables(struct_proces
|
free((*(*l_element_statique_courant).variable).nom); |
free((*(*l_element_statique_courant).variable).nom); |
liberation(s_etat_processus, (*(*l_element_statique_courant) |
liberation(s_etat_processus, (*(*l_element_statique_courant) |
.variable).objet); |
.variable).objet); |
|
free((*l_element_statique_courant).variable); |
|
free(l_element_statique_courant); |
|
|
l_element_statique_courant = l_element_statique_suivant; |
l_element_statique_courant = l_element_statique_suivant; |
} |
} |
Line 1956 copie_arbre_variables(struct_processus *
|
Line 1958 copie_arbre_variables(struct_processus *
|
struct_liste_variables_statiques *l_element_statique_courant; |
struct_liste_variables_statiques *l_element_statique_courant; |
|
|
struct_variable s_variable; |
struct_variable s_variable; |
|
struct_variable_statique s_variable_statique; |
|
|
unsigned char *ptr; |
unsigned char *ptr; |
|
|
Line 2179 copie_arbre_variables(struct_processus *
|
Line 2182 copie_arbre_variables(struct_processus *
|
ptr++; |
ptr++; |
} |
} |
|
|
|
// Il faut copier la variable pour la dissocier de la variable |
|
// restant dans le thread parent. |
|
|
|
s_variable_statique = (*(*l_element_statique_courant).variable); |
|
|
|
if (copie_objet(s_etat_processus, s_variable_statique.objet, 'P') |
|
== NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
if ((s_variable_statique.nom = malloc((strlen( |
|
(*(*l_element_statique_courant).variable).nom) + 1) * |
|
sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
strcpy(s_variable_statique.nom, (*(*l_element_statique_courant) |
|
.variable).nom); |
|
|
if (creation_variable_statique(s_nouvel_etat_processus, |
if (creation_variable_statique(s_nouvel_etat_processus, |
(*l_element_statique_courant).variable) == d_erreur) |
&s_variable_statique) == d_erreur) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |