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

version 1.9, 2010/06/24 10:10:45 version 1.10, 2010/07/12 15:55:01
Line 214  instruction_then(struct_processus *s_eta Line 214  instruction_then(struct_processus *s_eta
   
     struct_liste_chainee            *s_registre;      struct_liste_chainee            *s_registre;
   
       struct_liste_pile_systeme       *l_element_courant;
   
     struct_objet                    *s_objet;      struct_objet                    *s_objet;
   
     unsigned char                   *instruction_majuscule;      unsigned char                   *instruction_majuscule;
Line 365  instruction_then(struct_processus *s_eta Line 367  instruction_then(struct_processus *s_eta
              * THEN et ELSE ou END.               * THEN et ELSE ou END.
              */               */
   
             if (((*(*s_etat_processus).l_base_pile_systeme).clause !=              if ((*(*s_etat_processus).l_base_pile_systeme).clause !=
                     'K') && ((*(*s_etat_processus).l_base_pile_systeme)                      'K')
                     .clause != 'C'))  
             {              {
                 (*(*s_etat_processus).l_base_pile_systeme).clause = 'T';                  (*(*s_etat_processus).l_base_pile_systeme).clause = 'T';
             }              }
             else              else
             {              {
                 (*(*s_etat_processus).l_base_pile_systeme).clause = 'Q';                  if ((*s_etat_processus).l_base_pile_systeme == NULL)
                   {
                       (*s_etat_processus).erreur_systeme = d_es_pile_vide;
                       return;
                   }
   
                   l_element_courant = (*(*s_etat_processus).l_base_pile_systeme)
                           .suivant;
   
                   while(l_element_courant != NULL)
                   {
                       if ((*l_element_courant).clause == 'K')
                       {
                           (*l_element_courant).clause = 'Q';
                           break;
                       }
   
                       l_element_courant = (*l_element_courant).suivant;
                   }
             }              }
         }          }
         else          else
Line 480  instruction_then(struct_processus *s_eta Line 499  instruction_then(struct_processus *s_eta
                             }                              }
                             else if (strcmp(instruction_majuscule, "END") == 0)                              else if (strcmp(instruction_majuscule, "END") == 0)
                             {                              {
                                   instruction_end(s_etat_processus);
                                 drapeau_fin = d_vrai;                                  drapeau_fin = d_vrai;
                             }                              }
                             else                              else
Line 592  instruction_then(struct_processus *s_eta Line 612  instruction_then(struct_processus *s_eta
                                 if (((*(*s_etat_processus).l_base_pile_systeme)                                  if (((*(*s_etat_processus).l_base_pile_systeme)
                                         .clause != 'K') &&                                          .clause != 'K') &&
                                         ((*(*s_etat_processus)                                          ((*(*s_etat_processus)
                                         .l_base_pile_systeme) .clause != 'C'))                                          .l_base_pile_systeme).clause != 'C'))
                                 {                                  {
   
                                     /*                                      /*
                                      * Traitement de IF/THEN/ELSEIF/THEN/                                       * Traitement de IF/THEN/ELSEIF/THEN/
                                      * ELSE/END                                       * ELSE/END
Line 640  instruction_then(struct_processus *s_eta Line 659  instruction_then(struct_processus *s_eta
                                     }                                      }
                                     else if (fonction == instruction_end)                                      else if (fonction == instruction_end)
                                     {                                      {
                                           fonction(s_etat_processus);
                                           execution = d_vrai;
                                         drapeau_fin = d_vrai;                                          drapeau_fin = d_vrai;
                                     }                                      }
                                     else                                      else
Line 699  instruction_then(struct_processus *s_eta Line 720  instruction_then(struct_processus *s_eta
     }      }
   
     liberation(s_etat_processus, s_objet);      liberation(s_etat_processus, s_objet);
   
     return;      return;
 }  }
   

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


CVSweb interface <joel.bertrand@systella.fr>