Diff for /rpl/src/instructions_r3.c between versions 1.25 and 1.26

version 1.25, 2011/04/21 16:00:58 version 1.26, 2011/06/10 11:35:13
Line 741  instruction_rnrm(struct_processus *s_eta Line 741  instruction_rnrm(struct_processus *s_eta
 void  void
 instruction_rceq(struct_processus *s_etat_processus)  instruction_rceq(struct_processus *s_etat_processus)
 {  {
     logical1                presence_variable;  
   
     long                    i;  
   
     struct_objet            *s_objet_variable;      struct_objet            *s_objet_variable;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 787  instruction_rceq(struct_processus *s_eta Line 783  instruction_rceq(struct_processus *s_eta
         }          }
     }      }
   
     if (recherche_variable(s_etat_processus, "EQ") == d_vrai)      if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux)
     {      {
         i = (*s_etat_processus).position_variable_courante;          (*s_etat_processus).erreur_systeme = d_es;
         presence_variable = d_faux;  
   
         while(i >= 0)  
         {  
             if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, "EQ")  
                     == 0) && ((*s_etat_processus).s_liste_variables[i]  
                     .niveau == 1))  
             {  
                 presence_variable = d_vrai;  
                 break;  
             }  
   
             i--;  
         }  
   
         (*s_etat_processus).position_variable_courante = i;  
   
         if (presence_variable == d_faux)          if ((*s_etat_processus).erreur_execution == d_ex)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;              (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;
             return;  
         }          }
   
         if ((*s_etat_processus).s_liste_variables[i].objet == NULL)  
         {  
             (*s_etat_processus).erreur_execution = d_ex_variable_partagee;  
             return;  
         }  
     }  
     else  
     {  
         (*s_etat_processus).erreur_systeme = d_es;  
         (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;  
         return;          return;
     }      }
   
     if ((s_objet_variable = copie_objet(s_etat_processus,      if ((s_objet_variable = copie_objet(s_etat_processus,
             ((*s_etat_processus).s_liste_variables)              (*(*s_etat_processus).pointeur_variable_courante).objet, 'P'))
             [(*s_etat_processus).position_variable_courante].objet, 'P'))  
             == NULL)              == NULL)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 1698  instruction_rcws(struct_processus *s_eta Line 1666  instruction_rcws(struct_processus *s_eta
 void  void
 instruction_rcls(struct_processus *s_etat_processus)  instruction_rcls(struct_processus *s_etat_processus)
 {  {
     logical1                presence_variable;  
   
     long                    i;  
   
     struct_objet            *s_objet_variable;      struct_objet            *s_objet_variable;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 1742  instruction_rcls(struct_processus *s_eta Line 1706  instruction_rcls(struct_processus *s_eta
         }          }
     }      }
   
     if (recherche_variable(s_etat_processus, ds_sdat) == d_vrai)      if (recherche_variable_globale(s_etat_processus, ds_sdat) == d_faux)
     {      {
         i = (*s_etat_processus).position_variable_courante;          (*s_etat_processus).erreur_systeme = d_es;
         presence_variable = d_faux;  
   
         while(i >= 0)  
         {  
             if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, ds_sdat)  
                     == 0) && ((*s_etat_processus).s_liste_variables[i]  
                     .niveau == 1))  
             {  
                 presence_variable = d_vrai;  
                 break;  
             }  
   
             i--;  
         }  
   
         (*s_etat_processus).position_variable_courante = i;  
   
         if (presence_variable == d_faux)          if ((*s_etat_processus).erreur_execution == d_ex)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;              (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;
             return;  
         }          }
   
         if ((*s_etat_processus).s_liste_variables[i].objet == NULL)  
         {  
             (*s_etat_processus).erreur_execution = d_ex_variable_partagee;  
             return;  
         }  
     }  
     else  
     {  
         (*s_etat_processus).erreur_systeme = d_es;  
         (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;  
         return;          return;
     }      }
   
     if ((s_objet_variable = copie_objet(s_etat_processus,      if ((s_objet_variable = copie_objet(s_etat_processus,
             ((*s_etat_processus).s_liste_variables)              (*(*s_etat_processus).pointeur_variable_courante).objet, 'O'))
             [(*s_etat_processus).position_variable_courante].objet, 'O'))  
             == NULL)              == NULL)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;

Removed from v.1.25  
changed lines
  Added in v.1.26


CVSweb interface <joel.bertrand@systella.fr>