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

version 1.18, 2011/04/21 16:00:56 version 1.19, 2011/06/09 14:48:36
Line 137  instruction_cycle(struct_processus *s_et Line 137  instruction_cycle(struct_processus *s_et
             {              {
                 instruction_majuscule = conversion_majuscule("");                  instruction_majuscule = conversion_majuscule("");
   
                 if (((*s_etat_processus).s_liste_variables                  if ((*(*s_etat_processus).pointeur_variable_courante).objet
                         [(*s_etat_processus).position_variable_courante]).objet  
                         == NULL)                          == NULL)
                 {                  {
                     // Variable partagée                      // Variable partagée
Line 151  instruction_cycle(struct_processus *s_et Line 150  instruction_cycle(struct_processus *s_et
                     }                      }
   
                     if (recherche_variable_partagee(s_etat_processus,                      if (recherche_variable_partagee(s_etat_processus,
                             ((*s_etat_processus).s_liste_variables                              (*(*s_etat_processus).pointeur_variable_courante)
                             [(*s_etat_processus).position_variable_courante])                              .nom, (*(*s_etat_processus)
                             .nom, ((*s_etat_processus).s_liste_variables                              .pointeur_variable_courante).variable_partagee,
                             [(*s_etat_processus).position_variable_courante])                              'E') == d_vrai)
                             .variable_partagee, 'E') == d_vrai)  
                     {                      {
                         if ((*((*(*s_etat_processus)                          if ((*((*(*s_etat_processus)
                                 .s_liste_variables_partagees).table                                  .s_liste_variables_partagees).table
Line 191  instruction_cycle(struct_processus *s_et Line 189  instruction_cycle(struct_processus *s_et
                                     (*s_etat_processus).niveau_courant;                                      (*s_etat_processus).niveau_courant;
   
                             (*s_etat_processus).position_courante =                              (*s_etat_processus).position_courante =
                                     (*((unsigned long *) ((*((*s_etat_processus)                                      (*((unsigned long *)
                                     .s_liste_variables[(*s_etat_processus)                                      ((*(*(*s_etat_processus)
                                     .position_variable_courante].objet))                                      .pointeur_variable_courante).objet)
                                     .objet)));                                      .objet)));
   
                             (*s_etat_processus)                              (*s_etat_processus)
Line 212  instruction_cycle(struct_processus *s_et Line 210  instruction_cycle(struct_processus *s_et
                 {                  {
                     // Variable privée                      // Variable privée
   
                     if ((*((*s_etat_processus).s_liste_variables                      if ((*(*(*s_etat_processus).pointeur_variable_courante)
                             [(*s_etat_processus).position_variable_courante])  
                             .objet).type == ADR)                              .objet).type == ADR)
                     {                      {
                         empilement_pile_systeme(s_etat_processus);                          empilement_pile_systeme(s_etat_processus);
Line 234  instruction_cycle(struct_processus *s_et Line 231  instruction_cycle(struct_processus *s_et
                                 (*s_etat_processus).niveau_courant;                                  (*s_etat_processus).niveau_courant;
   
                         (*s_etat_processus).position_courante =                          (*s_etat_processus).position_courante =
                                 (*((unsigned long *) ((*((*s_etat_processus)                                  (*((unsigned long *) ((*(*(*s_etat_processus)
                                 .s_liste_variables[(*s_etat_processus)                                  .pointeur_variable_courante).objet).objet)));
                                 .position_variable_courante].objet)).objet)));  
   
                         (*s_etat_processus).autorisation_empilement_programme                          (*s_etat_processus).autorisation_empilement_programme
                                 = 'N';                                  = 'N';
Line 603  instruction_con(struct_processus *s_etat Line 599  instruction_con(struct_processus *s_etat
   
         liberation(s_etat_processus, s_objet_2);          liberation(s_etat_processus, s_objet_2);
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante)
                 .position_variable_courante].variable_verrouillee == d_vrai)                  .variable_verrouillee == d_vrai)
         {          {
             liberation(s_etat_processus, s_objet_1);              liberation(s_etat_processus, s_objet_1);
   
Line 612  instruction_con(struct_processus *s_etat Line 608  instruction_con(struct_processus *s_etat
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 [(*s_etat_processus).position_variable_courante].objet == NULL)  
         {          {
             // Variable partagée              // Variable partagée
   
Line 625  instruction_con(struct_processus *s_etat Line 620  instruction_con(struct_processus *s_etat
             }              }
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     [(*s_etat_processus).position_variable_courante].nom,                      (*(*s_etat_processus).pointeur_variable_courante)
                     (*s_etat_processus).s_liste_variables                      .variable_partagee, (*(*s_etat_processus)
                     [(*s_etat_processus).position_variable_courante]                      .pointeur_variable_courante).origine)
                     .variable_partagee, (*s_etat_processus).s_liste_variables  
                     [(*s_etat_processus).position_variable_courante].origine)  
                     == d_faux)                      == d_faux)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
Line 665  instruction_con(struct_processus *s_etat Line 658  instruction_con(struct_processus *s_etat
         {          {
             // Variable privée              // Variable privée
   
             s_objet_2 = (*s_etat_processus).s_liste_variables              s_objet_2 = (*(*s_etat_processus).pointeur_variable_courante).objet;
                     [(*s_etat_processus).position_variable_courante].objet;  
         }          }
     }      }
     else      else
Line 1056  instruction_con(struct_processus *s_etat Line 1048  instruction_con(struct_processus *s_etat
     }      }
     else      else
     {      {
         (*s_etat_processus).s_liste_variables          (*(*s_etat_processus).pointeur_variable_courante).objet =
                 [(*s_etat_processus).position_variable_courante].objet =  
                 s_objet_resultat;                  s_objet_resultat;
     }      }
   

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


CVSweb interface <joel.bertrand@systella.fr>