Diff for /rpl/src/gestion_variables.c between versions 1.60 and 1.63

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;

Removed from v.1.60  
changed lines
  Added in v.1.63


CVSweb interface <joel.bertrand@systella.fr>