Diff for /rpl/src/instructions_c6.c between versions 1.35 and 1.36

version 1.35, 2012/03/01 10:14:05 version 1.36, 2012/04/03 13:38:27
Line 836  instruction_clrfuse(struct_processus *s_ Line 836  instruction_clrfuse(struct_processus *s_
 ================================================================================  ================================================================================
 */  */
   
 void  static inline struct_objet *
 instruction_crtab(struct_processus *s_etat_processus)  creation_table(struct_liste_chainee *dimensions)
 {  {
     struct_liste_chainee    *l_element_courant;      struct_objet        *s_table;
   
     struct_objet            *s_objet_argument;      unsigned long       i;
     struct_objet            *s_objet_resultat;  
   
     struct_objet *      if ((s_table = allocation(s_etat_processus, TBL)) == NULL)
     creation_table(struct_liste_chainee *dimensions)  
     {      {
         struct_objet        *s_table;          return(NULL);
       }
         unsigned long       i;  
   
         if ((s_table = allocation(s_etat_processus, TBL)) == NULL)  
         {  
             return(NULL);  
         }  
   
         (*((struct_tableau *) (*s_table).objet)).nombre_elements =      (*((struct_tableau *) (*s_table).objet)).nombre_elements =
                 (unsigned long) (*((integer8 *) (*(*dimensions).donnee).objet));              (unsigned long) (*((integer8 *) (*(*dimensions).donnee).objet));
   
         dimensions = (*dimensions).suivant;      dimensions = (*dimensions).suivant;
   
         if (((*((struct_tableau *) (*s_table).objet)).elements =      if (((*((struct_tableau *) (*s_table).objet)).elements =
                 malloc((*((struct_tableau *) (*s_table).objet))              malloc((*((struct_tableau *) (*s_table).objet))
                 .nombre_elements * sizeof(struct_objet *))) == NULL)              .nombre_elements * sizeof(struct_objet *))) == NULL)
         {      {
             return(NULL);          return(NULL);
         }      }
   
         if (dimensions == NULL)      if (dimensions == NULL)
       {
           for(i = 0; i < (*((struct_tableau *) (*s_table).objet))
                   .nombre_elements; i++)
         {          {
             for(i = 0; i < (*((struct_tableau *) (*s_table).objet))              if (((*((struct_tableau *) (*s_table).objet)).elements[i] =
                     .nombre_elements; i++)                      allocation(s_etat_processus, LST)) == NULL)
             {              {
                 if (((*((struct_tableau *) (*s_table).objet)).elements[i] =                  return(NULL);
                         allocation(s_etat_processus, LST)) == NULL)  
                 {  
                     return(NULL);  
                 }  
             }              }
         }          }
         else      }
       else
       {
           for(i = 0; i < (*((struct_tableau *) (*s_table).objet))
                   .nombre_elements; i++)
         {          {
             for(i = 0; i < (*((struct_tableau *) (*s_table).objet))              if (((*((struct_tableau *) (*s_table).objet)).elements[i] =
                     .nombre_elements; i++)                      creation_table(dimensions)) == NULL)
             {              {
                 if (((*((struct_tableau *) (*s_table).objet)).elements[i] =                  return(NULL);
                         creation_table(dimensions)) == NULL)  
                 {  
                     return(NULL);  
                 }  
             }              }
         }          }
   
         return(s_table);  
     }      }
   
       return(s_table);
   }
   
   void
   instruction_crtab(struct_processus *s_etat_processus)
   {
       struct_liste_chainee    *l_element_courant;
   
       struct_objet            *s_objet_argument;
       struct_objet            *s_objet_resultat;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
     if ((*s_etat_processus).affichage_arguments == 'Y')      if ((*s_etat_processus).affichage_arguments == 'Y')

Removed from v.1.35  
changed lines
  Added in v.1.36


CVSweb interface <joel.bertrand@systella.fr>