Diff for /rpl/src/instructions_s3.c between versions 1.12 and 1.42

version 1.12, 2010/08/06 15:33:02 version 1.42, 2012/12/19 09:58:26
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.18    RPL/2 (R) version 4.1.12
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 47  instruction_sub(struct_processus *s_etat Line 47  instruction_sub(struct_processus *s_etat
     struct_objet                *s_objet_argument_3;      struct_objet                *s_objet_argument_3;
     struct_objet                *s_objet_resultat;      struct_objet                *s_objet_resultat;
   
       unsigned char               *ptr1;
       unsigned char               *ptr2;
   
     unsigned long               i;      unsigned long               i;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 144  instruction_sub(struct_processus *s_etat Line 147  instruction_sub(struct_processus *s_etat
     if ((*s_objet_argument_3).type == CHN)      if ((*s_objet_argument_3).type == CHN)
     {      {
         if ((*((integer8 *) (*s_objet_argument_1).objet)) > (integer8)          if ((*((integer8 *) (*s_objet_argument_1).objet)) > (integer8)
                 strlen((unsigned char *) (*s_objet_argument_3).objet))                  longueur_chaine(s_etat_processus,
                   (unsigned char *) (*s_objet_argument_3).objet))
         {          {
             liberation(s_etat_processus, s_objet_argument_1);              liberation(s_etat_processus, s_objet_argument_1);
             liberation(s_etat_processus, s_objet_argument_2);              liberation(s_etat_processus, s_objet_argument_2);
Line 160  instruction_sub(struct_processus *s_etat Line 164  instruction_sub(struct_processus *s_etat
             return;              return;
         }          }
   
         if (((*s_objet_resultat).objet = extraction_chaine((unsigned char *)          if ((ptr1 = pointeur_ieme_caractere(s_etat_processus, (unsigned char *)
                 (*s_objet_argument_3).objet, (*((integer8 *)                  (*s_objet_argument_3).objet, (*((integer8 *)
                 (*s_objet_argument_2).objet)), (*((integer8 *)                  (*s_objet_argument_2).objet)) - 1)) == NULL)
                 (*s_objet_argument_1).objet)))) == NULL)          {
               liberation(s_etat_processus, s_objet_argument_1);
               liberation(s_etat_processus, s_objet_argument_2);
               liberation(s_etat_processus, s_objet_argument_3);
   
               (*s_etat_processus).erreur_execution = d_ex_argument_invalide;
               return;
           }
   
           if ((ptr2 = pointeur_ieme_caractere(s_etat_processus, ptr1,
                   (*((integer8 *) (*s_objet_argument_1).objet))
                   - ((*((integer8 *) (*s_objet_argument_2).objet)) - 1))) == NULL)
           {
               liberation(s_etat_processus, s_objet_argument_1);
               liberation(s_etat_processus, s_objet_argument_2);
               liberation(s_etat_processus, s_objet_argument_3);
   
               (*s_etat_processus).erreur_execution = d_ex_argument_invalide;
               return;
           }
   
           if (((*s_objet_resultat).objet = malloc(((ptr2 - ptr1) + 1) *
                   sizeof(unsigned char))) == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;              return;
         }          }
   
           strncpy((unsigned char *) (*s_objet_resultat).objet, ptr1,
                   ptr2 - ptr1)[ptr2 - ptr1] = d_code_fin_chaine;
     }      }
   
 /*  /*
Line 436  instruction_sto_plus(struct_processus *s Line 465  instruction_sto_plus(struct_processus *s
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 456  instruction_sto_plus(struct_processus *s Line 485  instruction_sto_plus(struct_processus *s
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 504  instruction_sto_plus(struct_processus *s Line 516  instruction_sto_plus(struct_processus *s
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 536  instruction_sto_plus(struct_processus *s Line 546  instruction_sto_plus(struct_processus *s
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 565  instruction_sto_plus(struct_processus *s Line 574  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 581  instruction_sto_plus(struct_processus *s Line 590  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 602  instruction_sto_plus(struct_processus *s Line 611  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 628  instruction_sto_plus(struct_processus *s Line 637  instruction_sto_plus(struct_processus *s
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet))
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)                      == d_erreur)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 662  instruction_sto_plus(struct_processus *s Line 669  instruction_sto_plus(struct_processus *s
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 671  instruction_sto_plus(struct_processus *s Line 678  instruction_sto_plus(struct_processus *s
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 728  instruction_sto_plus(struct_processus *s Line 734  instruction_sto_plus(struct_processus *s
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 748  instruction_sto_plus(struct_processus *s Line 754  instruction_sto_plus(struct_processus *s
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 796  instruction_sto_plus(struct_processus *s Line 785  instruction_sto_plus(struct_processus *s
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 828  instruction_sto_plus(struct_processus *s Line 815  instruction_sto_plus(struct_processus *s
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 857  instruction_sto_plus(struct_processus *s Line 843  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 873  instruction_sto_plus(struct_processus *s Line 859  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 894  instruction_sto_plus(struct_processus *s Line 880  instruction_sto_plus(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 920  instruction_sto_plus(struct_processus *s Line 906  instruction_sto_plus(struct_processus *s
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet))
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)                      == d_erreur)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 954  instruction_sto_plus(struct_processus *s Line 938  instruction_sto_plus(struct_processus *s
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 963  instruction_sto_plus(struct_processus *s Line 947  instruction_sto_plus(struct_processus *s
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 1177  instruction_sto_moins(struct_processus * Line 1160  instruction_sto_moins(struct_processus *
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 1197  instruction_sto_moins(struct_processus * Line 1180  instruction_sto_moins(struct_processus *
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 1245  instruction_sto_moins(struct_processus * Line 1211  instruction_sto_moins(struct_processus *
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1277  instruction_sto_moins(struct_processus * Line 1241  instruction_sto_moins(struct_processus *
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 1306  instruction_sto_moins(struct_processus * Line 1269  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1322  instruction_sto_moins(struct_processus * Line 1285  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1343  instruction_sto_moins(struct_processus * Line 1306  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1369  instruction_sto_moins(struct_processus * Line 1332  instruction_sto_moins(struct_processus *
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1403  instruction_sto_moins(struct_processus * Line 1363  instruction_sto_moins(struct_processus *
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1412  instruction_sto_moins(struct_processus * Line 1372  instruction_sto_moins(struct_processus *
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante)
                     .position_variable_courante].objet)) == d_erreur)                      .objet)) == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 1469  instruction_sto_moins(struct_processus * Line 1428  instruction_sto_moins(struct_processus *
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 1489  instruction_sto_moins(struct_processus * Line 1448  instruction_sto_moins(struct_processus *
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 1537  instruction_sto_moins(struct_processus * Line 1479  instruction_sto_moins(struct_processus *
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1569  instruction_sto_moins(struct_processus * Line 1509  instruction_sto_moins(struct_processus *
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 1598  instruction_sto_moins(struct_processus * Line 1537  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1614  instruction_sto_moins(struct_processus * Line 1553  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1635  instruction_sto_moins(struct_processus * Line 1574  instruction_sto_moins(struct_processus *
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1661  instruction_sto_moins(struct_processus * Line 1600  instruction_sto_moins(struct_processus *
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1695  instruction_sto_moins(struct_processus * Line 1631  instruction_sto_moins(struct_processus *
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1704  instruction_sto_moins(struct_processus * Line 1640  instruction_sto_moins(struct_processus *
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante)
                     .position_variable_courante].objet)) == d_erreur)                      .objet)) == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 1918  instruction_sto_fois(struct_processus *s Line 1853  instruction_sto_fois(struct_processus *s
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 1938  instruction_sto_fois(struct_processus *s Line 1873  instruction_sto_fois(struct_processus *s
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 1986  instruction_sto_fois(struct_processus *s Line 1904  instruction_sto_fois(struct_processus *s
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2018  instruction_sto_fois(struct_processus *s Line 1934  instruction_sto_fois(struct_processus *s
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 2047  instruction_sto_fois(struct_processus *s Line 1962  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2063  instruction_sto_fois(struct_processus *s Line 1978  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2084  instruction_sto_fois(struct_processus *s Line 1999  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2110  instruction_sto_fois(struct_processus *s Line 2025  instruction_sto_fois(struct_processus *s
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2144  instruction_sto_fois(struct_processus *s Line 2056  instruction_sto_fois(struct_processus *s
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 2153  instruction_sto_fois(struct_processus *s Line 2065  instruction_sto_fois(struct_processus *s
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 2210  instruction_sto_fois(struct_processus *s Line 2121  instruction_sto_fois(struct_processus *s
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 2230  instruction_sto_fois(struct_processus *s Line 2141  instruction_sto_fois(struct_processus *s
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 2278  instruction_sto_fois(struct_processus *s Line 2172  instruction_sto_fois(struct_processus *s
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2310  instruction_sto_fois(struct_processus *s Line 2202  instruction_sto_fois(struct_processus *s
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 2339  instruction_sto_fois(struct_processus *s Line 2230  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2355  instruction_sto_fois(struct_processus *s Line 2246  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2376  instruction_sto_fois(struct_processus *s Line 2267  instruction_sto_fois(struct_processus *s
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2402  instruction_sto_fois(struct_processus *s Line 2293  instruction_sto_fois(struct_processus *s
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2436  instruction_sto_fois(struct_processus *s Line 2324  instruction_sto_fois(struct_processus *s
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 2445  instruction_sto_fois(struct_processus *s Line 2333  instruction_sto_fois(struct_processus *s
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 2659  instruction_sto_division(struct_processu Line 2546  instruction_sto_division(struct_processu
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 2679  instruction_sto_division(struct_processu Line 2566  instruction_sto_division(struct_processu
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 2727  instruction_sto_division(struct_processu Line 2597  instruction_sto_division(struct_processu
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2759  instruction_sto_division(struct_processu Line 2627  instruction_sto_division(struct_processu
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 2788  instruction_sto_division(struct_processu Line 2655  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2804  instruction_sto_division(struct_processu Line 2671  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2825  instruction_sto_division(struct_processu Line 2692  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2851  instruction_sto_division(struct_processu Line 2718  instruction_sto_division(struct_processu
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2885  instruction_sto_division(struct_processu Line 2749  instruction_sto_division(struct_processu
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 2894  instruction_sto_division(struct_processu Line 2758  instruction_sto_division(struct_processu
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 2951  instruction_sto_division(struct_processu Line 2814  instruction_sto_division(struct_processu
             return;              return;
         }          }
   
         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);
             liberation(s_etat_processus, s_objet_2);              liberation(s_etat_processus, s_objet_2);
Line 2971  instruction_sto_division(struct_processu Line 2834  instruction_sto_division(struct_processu
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 3019  instruction_sto_division(struct_processu Line 2865  instruction_sto_division(struct_processu
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3051  instruction_sto_division(struct_processu Line 2895  instruction_sto_division(struct_processu
         else          else
         {          {
             if ((s_objet_3 = copie_objet(s_etat_processus,              if ((s_objet_3 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 3080  instruction_sto_division(struct_processu Line 2923  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3096  instruction_sto_division(struct_processu Line 2939  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3117  instruction_sto_division(struct_processu Line 2960  instruction_sto_division(struct_processu
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3143  instruction_sto_division(struct_processu Line 2986  instruction_sto_division(struct_processu
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3177  instruction_sto_division(struct_processu Line 3017  instruction_sto_division(struct_processu
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 3186  instruction_sto_division(struct_processu Line 3026  instruction_sto_division(struct_processu
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 3362  instruction_sneg(struct_processus *s_eta Line 3201  instruction_sneg(struct_processus *s_eta
             return;              return;
         }          }
   
         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 3381  instruction_sneg(struct_processus *s_eta Line 3220  instruction_sneg(struct_processus *s_eta
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 3428  instruction_sneg(struct_processus *s_eta Line 3250  instruction_sneg(struct_processus *s_eta
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3459  instruction_sneg(struct_processus *s_eta Line 3279  instruction_sneg(struct_processus *s_eta
         else          else
         {          {
             if ((s_objet_2 = copie_objet(s_etat_processus,              if ((s_objet_2 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 3487  instruction_sneg(struct_processus *s_eta Line 3306  instruction_sneg(struct_processus *s_eta
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3507  instruction_sneg(struct_processus *s_eta Line 3326  instruction_sneg(struct_processus *s_eta
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3533  instruction_sneg(struct_processus *s_eta Line 3352  instruction_sneg(struct_processus *s_eta
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3567  instruction_sneg(struct_processus *s_eta Line 3383  instruction_sneg(struct_processus *s_eta
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 3576  instruction_sneg(struct_processus *s_eta Line 3392  instruction_sneg(struct_processus *s_eta
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 3750  instruction_sinv(struct_processus *s_eta Line 3565  instruction_sinv(struct_processus *s_eta
             return;              return;
         }          }
   
         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 3769  instruction_sinv(struct_processus *s_eta Line 3584  instruction_sinv(struct_processus *s_eta
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 3816  instruction_sinv(struct_processus *s_eta Line 3614  instruction_sinv(struct_processus *s_eta
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3847  instruction_sinv(struct_processus *s_eta Line 3643  instruction_sinv(struct_processus *s_eta
         else          else
         {          {
             if ((s_objet_2 = copie_objet(s_etat_processus,              if ((s_objet_2 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 3875  instruction_sinv(struct_processus *s_eta Line 3670  instruction_sinv(struct_processus *s_eta
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3895  instruction_sinv(struct_processus *s_eta Line 3690  instruction_sinv(struct_processus *s_eta
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3921  instruction_sinv(struct_processus *s_eta Line 3716  instruction_sinv(struct_processus *s_eta
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 3955  instruction_sinv(struct_processus *s_eta Line 3747  instruction_sinv(struct_processus *s_eta
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 3964  instruction_sinv(struct_processus *s_eta Line 3756  instruction_sinv(struct_processus *s_eta
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   
Line 4138  instruction_sconj(struct_processus *s_et Line 3929  instruction_sconj(struct_processus *s_et
             return;              return;
         }          }
   
         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 4157  instruction_sconj(struct_processus *s_et Line 3948  instruction_sconj(struct_processus *s_et
             return;              return;
         }          }
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL)
                 .position_variable_courante].objet == NULL)  
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     .position_variable_courante].nom, (*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .s_liste_variables[(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .position_variable_courante].variable_partagee,                      .pointeur_variable_courante).origine) == NULL)
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)  
                     .position_variable_courante].origine) == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 4204  instruction_sconj(struct_processus *s_et Line 3978  instruction_sconj(struct_processus *s_et
             variable_partagee = d_vrai;              variable_partagee = d_vrai;
   
             if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)              if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus)
                     .s_liste_variables_partagees).table                      .pointeur_variable_partagee_courante).objet, 'P')) == NULL)
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet, 'P')) == NULL)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 4235  instruction_sconj(struct_processus *s_et Line 4007  instruction_sconj(struct_processus *s_et
         else          else
         {          {
             if ((s_objet_2 = copie_objet(s_etat_processus,              if ((s_objet_2 = copie_objet(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).objet,
                     [(*s_etat_processus).position_variable_courante].objet,  
                     'P')) == NULL)                      'P')) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 4263  instruction_sconj(struct_processus *s_et Line 4034  instruction_sconj(struct_processus *s_et
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 4283  instruction_sconj(struct_processus *s_et Line 4054  instruction_sconj(struct_processus *s_et
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 4309  instruction_sconj(struct_processus *s_et Line 4080  instruction_sconj(struct_processus *s_et
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*(*s_etat_processus).s_liste_variables_partagees)                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     .table[(*(*s_etat_processus).s_liste_variables_partagees)                      .objet);
                     .position_variable].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     (struct_objet **) &((*(*s_etat_processus)                      (struct_objet **) &((*(*s_etat_processus)
                     .s_liste_variables_partagees).table[(*(*s_etat_processus)                      .pointeur_variable_partagee_courante).objet)) == d_erreur)
                     .s_liste_variables_partagees).position_variable].objet))  
                     == d_erreur)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 4343  instruction_sconj(struct_processus *s_et Line 4111  instruction_sconj(struct_processus *s_et
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 4352  instruction_sconj(struct_processus *s_et Line 4120  instruction_sconj(struct_processus *s_et
         else          else
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante).objet);
                     .position_variable_courante].objet);  
   
             if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),              if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                     &((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      &((*(*s_etat_processus).pointeur_variable_courante).objet))
                     .position_variable_courante].objet)) == d_erreur)                      == d_erreur)
             {              {
                 liberation(s_etat_processus, s_objet_1);                  liberation(s_etat_processus, s_objet_1);
   

Removed from v.1.12  
changed lines
  Added in v.1.42


CVSweb interface <joel.bertrand@systella.fr>