Diff for /rpl/src/instructions_r1.c between versions 1.18 and 1.19

version 1.18, 2011/04/21 16:00:58 version 1.19, 2011/06/10 11:35:13
Line 905  instruction_rclf(struct_processus *s_eta Line 905  instruction_rclf(struct_processus *s_eta
 void  void
 instruction_rcl(struct_processus *s_etat_processus)  instruction_rcl(struct_processus *s_etat_processus)
 {  {
     logical1                            presence_variable;  
   
     long                                i;  
   
     struct_objet                        *s_objet;      struct_objet                        *s_objet;
     struct_objet                        *s_objet_variable;      struct_objet                        *s_objet_variable;
   
Line 968  instruction_rcl(struct_processus *s_etat Line 964  instruction_rcl(struct_processus *s_etat
         return;          return;
     }      }
   
     if (recherche_variable(s_etat_processus, (*((struct_nom *)      if (recherche_variable_globale(s_etat_processus, (*((struct_nom *)
             (*s_objet).objet)).nom) == d_faux)              (*s_objet).objet)).nom) == d_faux)
     {      {
         liberation(s_etat_processus, s_objet);          liberation(s_etat_processus, s_objet);
   
         (*s_etat_processus).erreur_systeme = d_es;          (*s_etat_processus).erreur_systeme = d_es;
         (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;  
         return;  
     }  
   
     i = (*s_etat_processus).position_variable_courante;  
     presence_variable = d_faux;  
   
     while(i >= 0)          if ((*s_etat_processus).erreur_execution == d_ex)
     {  
         if ((strcmp((*s_etat_processus).s_liste_variables[i].nom,  
                 (*((struct_nom *) (*s_objet).objet)).nom) == 0) &&  
                 ((*s_etat_processus).s_liste_variables[i].niveau == 1))  
         {          {
             presence_variable = d_vrai;              (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;
             break;  
         }          }
   
         i--;  
     }  
   
     (*s_etat_processus).position_variable_courante = i;  
   
     if (presence_variable == d_faux)  
     {  
         liberation(s_etat_processus, s_objet);  
   
         (*s_etat_processus).erreur_execution = d_ex_variable_non_definie;  
         return;  
     }  
   
     if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)  
             .position_variable_courante].objet == NULL)  
     {  
         liberation(s_etat_processus, s_objet);  
   
         (*s_etat_processus).erreur_systeme = d_es;  
         (*s_etat_processus).erreur_execution = d_ex_variable_partagee;  
         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;

Removed from v.1.18  
changed lines
  Added in v.1.19


CVSweb interface <joel.bertrand@systella.fr>