--- rpl/src/gestion_objets.c 2012/10/07 21:57:48 1.89 +++ rpl/src/gestion_objets.c 2013/02/27 17:11:40 1.95 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.11 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.13 + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -112,9 +112,11 @@ initialisation_allocateur(struct_process (*s_etat_processus).pointeur_maillons = 0; (*s_etat_processus).pointeur_variables_noeud = 0; + (*s_etat_processus).pointeur_variables_partagees_noeud = 0; (*s_etat_processus).pointeur_variables_feuille = 0; (*s_etat_processus).pointeur_variables_variable = 0; (*s_etat_processus).pointeur_variables_tableau_noeuds = 0; + (*s_etat_processus).pointeur_variables_tableau_noeuds_partages = 0; return; } @@ -150,12 +152,17 @@ liberation_allocateur(struct_processus * for(i = 0; i < (*s_etat_processus).pointeur_variables_noeud; free((*s_etat_processus).variables_noeud[i++])); + for(i = 0; i < (*s_etat_processus).pointeur_variables_partagees_noeud; + free((*s_etat_processus).variables_partagees_noeud[i++])); for(i = 0; i < (*s_etat_processus).pointeur_variables_feuille; free((*s_etat_processus).variables_feuille[i++])); for(i = 0; i < (*s_etat_processus).pointeur_variables_variable; free((*s_etat_processus).variables_variable[i++])); for(i = 0; i < (*s_etat_processus).pointeur_variables_tableau_noeuds; free((*s_etat_processus).variables_tableau_noeuds[i++])); + for(i = 0; i < (*s_etat_processus) + .pointeur_variables_tableau_noeuds_partages; + free((*s_etat_processus).variables_tableau_noeuds_partages[i++])); { struct_liste_chainee *l_element_courant; @@ -3120,6 +3127,11 @@ copie_etat_processus(struct_processus *s return(NULL); } + (*(*s_nouvel_etat_processus).l_liste_variables_partagees) = + (*(*s_etat_processus).l_liste_variables_partagees); + (*(*s_nouvel_etat_processus).s_arbre_variables_partagees) = + (*(*s_etat_processus).s_arbre_variables_partagees); + /* * Copie de la pile opérationnelle */