Diff for /rpl/src/instructions_t3.c between versions 1.60 and 1.61

version 1.60, 2015/11/26 11:44:40 version 1.61, 2015/12/13 22:55:01
Line 343  instruction_table_fleche(struct_processu Line 343  instruction_table_fleche(struct_processu
     struct_objet                    *s_objet;      struct_objet                    *s_objet;
     struct_objet                    *s_objet_resultat;      struct_objet                    *s_objet_resultat;
   
       unsigned char                   *registre_instruction_courante;
       unsigned char                   registre_instruction_valide;
       unsigned char                   registre_test;
   
     integer8                        i;      integer8                        i;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 417  instruction_table_fleche(struct_processu Line 421  instruction_table_fleche(struct_processu
             return;              return;
         }          }
   
         if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),          if ((*((*((struct_tableau *) (*s_objet).objet)).elements[i])).type
                 (*((struct_tableau *) (*s_objet).objet)).elements[i])                  != FCT)
                 == d_erreur)  
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
             return;                      (*((struct_tableau *) (*s_objet).objet)).elements[i])
                       == d_erreur)
               {
                   return;
               }
           }
           else
           {
               registre_test = (*s_etat_processus).test_instruction;
               registre_instruction_courante = (*s_etat_processus)
                       .instruction_courante;
               registre_instruction_valide = (*s_etat_processus)
                       .instruction_valide;
   
               (*s_etat_processus).test_instruction = 'Y';
               (*s_etat_processus).instruction_courante =
                       (*((struct_fonction *) (*((struct_tableau *)
                       (*s_objet).objet)).elements[i])).nom_fonction;
   
               analyse(s_etat_processus, NULL);
   
               (*s_etat_processus).test_instruction = registre_test;
               (*s_etat_processus).instruction_courante =
                       registre_instruction_courante;
   
               if (((*s_etat_processus).instruction_valide == 'Y') &&
                       (*s_etat_processus).constante_symbolique == 'Y')
               {
                   if (evaluation(s_etat_processus, (*((struct_tableau *)
                           (*s_objet).objet)).elements[i], 'E') == d_erreur)
                   {
                       (*s_etat_processus).instruction_valide =
                               registre_instruction_valide;
                       return;
                   }
               }
               else
               {
                   if (empilement(s_etat_processus, &((*s_etat_processus)
                           .l_base_pile), (*((struct_tableau *) (*s_objet).objet))
                           .elements[i]) == d_erreur)
                   {
                       (*s_etat_processus).instruction_valide =
                               registre_instruction_valide;
                       return;
                   }
               }
   
               (*s_etat_processus).instruction_valide =
                       registre_instruction_valide;
         }          }
     }      }
   

Removed from v.1.60  
changed lines
  Added in v.1.61


CVSweb interface <joel.bertrand@systella.fr>