Diff for /rpl/src/instructions_d4.c between versions 1.20 and 1.21

version 1.20, 2011/04/21 16:00:56 version 1.21, 2011/06/09 14:48:36
Line 666  instruction_drws(struct_processus *s_eta Line 666  instruction_drws(struct_processus *s_eta
   
     int                         dimensions;      int                         dimensions;
   
     logical1                    presence_variable;  
     logical1                    matrice_entiere;      logical1                    matrice_entiere;
   
     long                        i;  
   
     struct_objet                *s_objet_statistique;      struct_objet                *s_objet_statistique;
   
     unsigned char               *nom_fichier;      unsigned char               *nom_fichier;
Line 717  instruction_drws(struct_processus *s_eta Line 714  instruction_drws(struct_processus *s_eta
      * Vérification de la présence de la matrice statistique       * Vérification de la présence de la matrice statistique
      */       */
   
     if (recherche_variable(s_etat_processus, ds_sdat) == d_faux)      if (recherche_variable_globale(s_etat_processus, ds_sdat) == d_faux)
     {      {
         /*          /*
          * Aucune variable ds_sdat n'existe.           * Aucune variable ds_sdat n'existe.
Line 729  instruction_drws(struct_processus *s_eta Line 726  instruction_drws(struct_processus *s_eta
         return;          return;
     }      }
   
     i = (*s_etat_processus).position_variable_courante;      if ((s_objet_statistique = (*(*s_etat_processus).pointeur_variable_courante)
     presence_variable = d_faux;              .objet) == NULL)
   
     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--;  
     }  
   
     if (presence_variable == d_faux)  
     {  
         (*s_etat_processus).erreur_execution = d_ex_absence_observations;  
         return;  
     }  
   
     if ((s_objet_statistique = (*s_etat_processus).s_liste_variables[i].objet)  
             == NULL)  
     {      {
         (*s_etat_processus).erreur_execution = d_ex_variable_partagee;          (*s_etat_processus).erreur_execution = d_ex_variable_partagee;
         return;          return;
Line 1083  instruction_decr(struct_processus *s_eta Line 1058  instruction_decr(struct_processus *s_eta
   
         liberation(s_etat_processus, s_objet_argument);          liberation(s_etat_processus, s_objet_argument);
   
         if ((*s_etat_processus).s_liste_variables          if ((*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante]  
                 .variable_verrouillee == d_vrai)                  .variable_verrouillee == d_vrai)
         {          {
             (*s_etat_processus).erreur_execution =              (*s_etat_processus).erreur_execution =
Line 1092  instruction_decr(struct_processus *s_eta Line 1066  instruction_decr(struct_processus *s_eta
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables          if ((*(*s_etat_processus).pointeur_variable_courante).objet
                 [(*s_etat_processus).position_variable_courante].objet  
                 == NULL)                  == NULL)
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)              if (pthread_mutex_lock(&((*(*s_etat_processus)
Line 1104  instruction_decr(struct_processus *s_eta Line 1077  instruction_decr(struct_processus *s_eta
             }              }
   
             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)  
             {              {
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
Line 1127  instruction_decr(struct_processus *s_eta Line 1097  instruction_decr(struct_processus *s_eta
         }          }
         else          else
         {          {
             s_objet_argument = (*s_etat_processus).s_liste_variables              s_objet_argument = (*(*s_etat_processus).pointeur_variable_courante)
                     [(*s_etat_processus).position_variable_courante].objet;                      .objet;
             variable_partagee = d_faux;              variable_partagee = d_faux;
         }          }
   
Line 1153  instruction_decr(struct_processus *s_eta Line 1123  instruction_decr(struct_processus *s_eta
   
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             (*s_etat_processus).s_liste_variables[(*s_etat_processus)              (*(*s_etat_processus).pointeur_variable_courante).objet = NULL;
                     .position_variable_courante].objet = NULL;  
             (*(*s_etat_processus)              (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .s_liste_variables_partagees).table
                     [(*(*s_etat_processus).s_liste_variables_partagees)                      [(*(*s_etat_processus).s_liste_variables_partagees)
Line 1162  instruction_decr(struct_processus *s_eta Line 1131  instruction_decr(struct_processus *s_eta
         }          }
         else          else
         {          {
             (*s_etat_processus).s_liste_variables[(*s_etat_processus)              (*(*s_etat_processus).pointeur_variable_courante).objet =
                     .position_variable_courante].objet = s_copie_argument;                      s_copie_argument;
         }          }
   
         if ((*s_copie_argument).type == INT)          if ((*s_copie_argument).type == INT)

Removed from v.1.20  
changed lines
  Added in v.1.21


CVSweb interface <joel.bertrand@systella.fr>