Diff for /rpl/src/instructions_c1.c between versions 1.9 and 1.10

version 1.9, 2010/06/24 10:10:42 version 1.10, 2010/07/12 15:55:00
Line 670  instruction_ceil(struct_processus *s_eta Line 670  instruction_ceil(struct_processus *s_eta
 void  void
 instruction_case(struct_processus *s_etat_processus)  instruction_case(struct_processus *s_etat_processus)
 {  {
       struct_liste_pile_systeme   *l_element_courant;
   
     struct_objet                *s_objet;      struct_objet                *s_objet;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 712  instruction_case(struct_processus *s_eta Line 714  instruction_case(struct_processus *s_eta
         return;          return;
     }      }
   
     if ((*(*s_etat_processus).l_base_pile_systeme).clause == 'S')      l_element_courant = (*s_etat_processus).l_base_pile_systeme;
   
       while(l_element_courant != NULL)
     {      {
           if (((*l_element_courant).clause == 'S') ||
               ((*l_element_courant).clause == 'C') ||
               ((*l_element_courant).clause == 'K'))
           {
               break;
           }
   
           l_element_courant = (*l_element_courant).suivant;
       }
   
       if (l_element_courant == NULL)
       {
           (*s_etat_processus).erreur_systeme = d_es_pile_vide;
           return;
       }
   
       if ((*l_element_courant).clause == 'S')
       {
         /*          /*
          * Première apparition de l'instruction CASE dans la structure de test.           * Première apparition de l'instruction CASE dans la structure de test.
          */           */
Line 726  instruction_case(struct_processus *s_eta Line 747  instruction_case(struct_processus *s_eta
             return;              return;
         }          }
   
         (*(*s_etat_processus).l_base_pile_systeme).objet_de_test = s_objet;          (*l_element_courant).objet_de_test = s_objet;
         (*(*s_etat_processus).l_base_pile_systeme).clause = 'K';          (*l_element_courant).clause = 'K';
     }      }
   
     if ((s_objet = copie_objet(s_etat_processus,      if ((s_objet = copie_objet(s_etat_processus,
             (*(*s_etat_processus).l_base_pile_systeme)              (*l_element_courant).objet_de_test, 'P')) == NULL)
             .objet_de_test, 'P')) == NULL)  
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
         return;          return;
Line 744  instruction_case(struct_processus *s_eta Line 764  instruction_case(struct_processus *s_eta
         return;          return;
     }      }
   
       /*
        * Empilement sur la pile système ne servant qu'à la bonne exécution
        * des reprises sur erreur
        */
   
       empilement_pile_systeme(s_etat_processus);
   
       if ((*s_etat_processus).erreur_systeme != d_es)
       {
           return;
       }
   
       (*(*s_etat_processus).l_base_pile_systeme).clause =
               (*l_element_courant).clause;
       (*(*s_etat_processus).l_base_pile_systeme).type_cloture = 'K';
     return;      return;
 }  }
   

Removed from v.1.9  
changed lines
  Added in v.1.10


CVSweb interface <joel.bertrand@systella.fr>