Diff for /rpl/src/instructions_r5.c between versions 1.17 and 1.24

version 1.17, 2010/09/23 15:27:40 version 1.24, 2011/06/21 07:45:26
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.20    RPL/2 (R) version 4.1.0.prerelease.1
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 348  instruction_row_plus(struct_processus *s Line 348  instruction_row_plus(struct_processus *s
   
         liberation(s_etat_processus, s_objet_argument_3);          liberation(s_etat_processus, s_objet_argument_3);
   
         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)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;              (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;
   
Line 359  instruction_row_plus(struct_processus *s Line 359  instruction_row_plus(struct_processus *s
             return;              return;
         }          }
   
         s_objet_argument_3 = (*s_etat_processus).s_liste_variables          s_objet_argument_3 = (*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante].objet;                  .objet;
   
         if (s_objet_argument_3 == NULL)          if (s_objet_argument_3 == NULL)
         {          {
Line 372  instruction_row_plus(struct_processus *s Line 372  instruction_row_plus(struct_processus *s
             }              }
   
             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)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
Line 424  instruction_row_plus(struct_processus *s Line 422  instruction_row_plus(struct_processus *s
         liberation(s_etat_processus, s_objet_argument_3);          liberation(s_etat_processus, s_objet_argument_3);
         s_objet_argument_3 = s_copie_argument_3;          s_objet_argument_3 = s_copie_argument_3;
   
         (*s_etat_processus).s_liste_variables[(*s_etat_processus)          (*(*s_etat_processus).pointeur_variable_courante).objet =
                 .position_variable_courante].objet = s_objet_argument_3;                  s_objet_argument_3;
     }      }
     else      else
     {      {
Line 1026  instruction_row_moins(struct_processus * Line 1024  instruction_row_moins(struct_processus *
   
         liberation(s_etat_processus, s_objet_argument_2);          liberation(s_etat_processus, s_objet_argument_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_argument_1);              liberation(s_etat_processus, s_objet_argument_1);
   
Line 1035  instruction_row_moins(struct_processus * Line 1033  instruction_row_moins(struct_processus *
             return;              return;
         }          }
   
         s_objet_argument_2 = (*s_etat_processus).s_liste_variables          s_objet_argument_2 = (*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante].objet;                  .objet;
   
         if (s_objet_argument_2 == NULL)          if (s_objet_argument_2 == NULL)
         {          {
Line 1048  instruction_row_moins(struct_processus * Line 1046  instruction_row_moins(struct_processus *
             }              }
   
             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) == d_faux)
                     .variable_partagee, (*s_etat_processus).s_liste_variables  
                     [(*s_etat_processus).position_variable_courante].origine)  
                     == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .s_liste_variables_partagees).mutex)) != 0)
Line 1099  instruction_row_moins(struct_processus * Line 1094  instruction_row_moins(struct_processus *
         liberation(s_etat_processus, s_objet_argument_2);          liberation(s_etat_processus, s_objet_argument_2);
         s_objet_argument_2 = s_copie_argument_2;          s_objet_argument_2 = s_copie_argument_2;
   
         (*s_etat_processus).s_liste_variables[(*s_etat_processus)          (*(*s_etat_processus).pointeur_variable_courante).objet =
                 .position_variable_courante].objet = s_objet_argument_2;                  s_objet_argument_2;
     }      }
     else      else
     {      {

Removed from v.1.17  
changed lines
  Added in v.1.24


CVSweb interface <joel.bertrand@systella.fr>