Diff for /rpl/src/gestion_objets.c between versions 1.139 and 1.142

version 1.139, 2018/12/21 10:56:16 version 1.142, 2018/12/24 15:55:06
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.29    RPL/2 (R) version 4.1.30
   Copyright (C) 1989-2018 Dr. BERTRAND Joël    Copyright (C) 1989-2018 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 635  allocation(struct_processus *s_etat_proc Line 635  allocation(struct_processus *s_etat_proc
             }              }
             else              else
             {              {
                 if (((*s_objet).objet = malloc(2 * sizeof(struct_objet *)))                  if (((*s_objet).objet = malloc(sizeof(struct_record)))
                         == NULL)                          == NULL)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
Line 1317  liberation(struct_processus *s_etat_proc Line 1317  liberation(struct_processus *s_etat_proc
             }              }
             else              else
             {              {
                 free((real8 *) ((*s_objet).objet));                  free((struct_record *) ((*s_objet).objet));
             }              }
   
             break;              break;
Line 2484  copie_objet(struct_processus *s_etat_pro Line 2484  copie_objet(struct_processus *s_etat_pro
             break;              break;
         }          }
   
           case REC :
           {
               if (type != 'P')
               {
                   if ((s_nouvel_objet = allocation(s_etat_processus, REC))
                           == NULL)
                   {
                       return(NULL);
                   }
   
                   if (((*((struct_record *) (*s_nouvel_objet).objet)).noms =
                           copie_objet(s_etat_processus, (*((struct_record *)
                           (*s_objet).objet)).noms, 'P')) == NULL)
                   {
                       return(NULL);
                   }
   
                   if (((*((struct_record *) (*s_nouvel_objet).objet)).donnees =
                           copie_objet(s_etat_processus, (*((struct_record *)
                           (*s_objet).objet)).donnees, type)) == NULL)
                   {
                       return(NULL);
                   }
               }
               else
               {
                   incrementation_atomique(s_objet);
                   (*((struct_record *) (*s_objet).objet)).noms =
                           copie_objet(s_etat_processus, (*((struct_record *)
                           (*s_objet).objet)).noms, 'P');
                   (*((struct_record *) (*s_objet).objet)).donnees =
                           copie_objet(s_etat_processus, (*((struct_record *)
                           (*s_objet).objet)).donnees, 'P');
   
                   return(s_objet);
               }
   
               break;
           }
   
         case REL :          case REL :
         {          {
             if (type != 'O')              if (type != 'O')

Removed from v.1.139  
changed lines
  Added in v.1.142


CVSweb interface <joel.bertrand@systella.fr>