Diff for /rpl/src/gestion_objets.c between versions 1.134 and 1.135

version 1.134, 2017/07/02 22:29:02 version 1.135, 2017/07/12 15:42:42
Line 1510  liberation(struct_processus *s_etat_proc Line 1510  liberation(struct_processus *s_etat_proc
                 return;                  return;
             }              }
   
             // Appel de la fonction de duplication associée à l'objet              // Appel de la fonction de liberation associée à l'objet
             // externe. Le descripteur de bibliothèque est directement              // externe. Le descripteur de bibliothèque est directement
             // associé à la structure objet.              // associé à la structure objet.
   
             if ((__type_drop = dlsym((*s_objet).descripteur_bibliotheque,              l_element_courant = (*s_etat_processus).s_bibliotheques;
                     "__type_drop")) == NULL)  
             {  
                 // La fonction de duplication n'existe pas dans la  
                 // bibliothèque.  
   
                 (*s_etat_processus).erreur_execution = d_ex_type_externe_drop;              while(l_element_courant != NULL)
             }  
             else  
             {              {
                 if (__type_drop(s_etat_processus, (void **) &s_objet) == 0)                  if ((*((struct_bibliotheque *) (*l_element_courant).donnee))
                           .descripteur == (*s_objet).descripteur_bibliotheque)
                 {                  {
                     (*s_etat_processus).erreur_execution =                      if ((__type_drop = dlsym((*s_objet)
                             d_ex_type_externe_drop;                              .descripteur_bibliotheque, "__type_drop")) == NULL)
                       {
                           // La fonction de libération n'existe pas dans la
                           // bibliothèque.
   
                           (*s_etat_processus).erreur_execution =
                                   d_ex_type_externe_drop;
                       }
                       else
                       {
                           if (__type_drop(s_etat_processus, (void **) &s_objet)
                                   == 0)
                           {
                               (*s_etat_processus).erreur_execution =
                                       d_ex_type_externe_drop;
                           }
                       }
   
                       break;
                 }                  }
   
                   l_element_courant = (*l_element_courant).suivant;
               }
   
               if (l_element_courant == NULL)
               {
                   (*s_etat_processus).erreur_execution = d_ex_type_externe_drop;
             }              }
   
             break;              break;
Line 2866  copie_objet(struct_processus *s_etat_pro Line 2886  copie_objet(struct_processus *s_etat_pro
             // externe. Le descripteur de bibliothèque est directement              // externe. Le descripteur de bibliothèque est directement
             // associé à la structure objet.              // associé à la structure objet.
   
             if ((__type_dup = dlsym((*s_objet).descripteur_bibliotheque,              l_element_courant = (*s_etat_processus).s_bibliotheques;
                     "__type_dup")) == NULL)  
               while(l_element_courant != NULL)
             {              {
                 // La fonction de duplication n'existe pas dans la                  if ((*((struct_bibliotheque *) (*l_element_courant).donnee))
                 // bibliothèque.                          .descripteur == (*s_objet).descripteur_bibliotheque)
                   {
                       if ((__type_dup = dlsym((*s_objet).descripteur_bibliotheque,
                               "__type_dup")) == NULL)
                       {
                           // La fonction de duplication n'existe pas dans la
                           // bibliothèque.
   
                 (*s_etat_processus).erreur_execution = d_ex_type_externe_dup;                          (*s_etat_processus).erreur_execution =
                 return(NULL);                                  d_ex_type_externe_dup;
             }                          return(NULL);
                       }
   
             s_nouvel_objet = s_objet;                      s_nouvel_objet = s_objet;
   
             if (__type_dup(s_etat_processus, (void **) &s_nouvel_objet) == 0)                      if (__type_dup(s_etat_processus, (void **) &s_nouvel_objet)
                               == 0)
                       {
                           return(NULL);
                       }
   
                       break;
                   }
   
                   l_element_courant = (*l_element_courant).suivant;
               }
   
               if (l_element_courant == NULL)
             {              {
                   (*s_etat_processus).erreur_execution = d_ex_type_externe_dup;
                 return(NULL);                  return(NULL);
             }              }
   

Removed from v.1.134  
changed lines
  Added in v.1.135


CVSweb interface <joel.bertrand@systella.fr>