Diff for /rpl/src/types.c between versions 1.46 and 1.47

version 1.46, 2012/03/01 10:14:09 version 1.47, 2012/03/30 14:13:17
Line 49  recherche_type(struct_processus *s_etat_ Line 49  recherche_type(struct_processus *s_etat_
     struct_liste_pile_systeme   *s_sauvegarde_pile;      struct_liste_pile_systeme   *s_sauvegarde_pile;
   
     struct_objet                *s_objet;      struct_objet                *s_objet;
       struct_objet                *s_objet_registre;
     struct_objet                *s_sous_objet;      struct_objet                *s_sous_objet;
   
     logical1                    drapeau_chaine;      logical1                    drapeau_chaine;
Line 101  recherche_type(struct_processus *s_etat_ Line 102  recherche_type(struct_processus *s_etat_
   
     void                        *element;      void                        *element;
   
     s_objet = (struct_objet *) malloc(sizeof(struct_objet));      if ((s_objet = allocation(s_etat_processus, NON)) == NULL)
     element = NULL;  
     nombre_egalites = 0;  
     i = 0;  
   
     if (s_objet == NULL)  
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
         return;          return;
     }      }
   
     initialisation_objet(s_objet);      element = NULL;
       nombre_egalites = 0;
       i = 0;
   
     registre_test = (*s_etat_processus).test_instruction;      registre_test = (*s_etat_processus).test_instruction;
     registre_instruction_valide = (*s_etat_processus).instruction_valide;      registre_instruction_valide = (*s_etat_processus).instruction_valide;
     registre_interruption = (*s_etat_processus).traitement_interruptible;      registre_interruption = (*s_etat_processus).traitement_interruptible;
Line 208  recherche_type(struct_processus *s_etat_ Line 207  recherche_type(struct_processus *s_etat_
                 (*s_etat_processus).test_instruction = 'N';                  (*s_etat_processus).test_instruction = 'N';
                 analyse(s_etat_processus, NULL);                  analyse(s_etat_processus, NULL);
                 (*s_etat_processus).test_instruction = registre_test_bis;                  (*s_etat_processus).test_instruction = registre_test_bis;
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
             }              }
             else              else
             {              {
Line 273  recherche_type(struct_processus *s_etat_ Line 272  recherche_type(struct_processus *s_etat_
   
         case '(' :          case '(' :
         {          {
             (*s_objet).type = CPL;  
   
             element = (void *) ((struct_complexe16 *) malloc(              element = (void *) ((struct_complexe16 *) malloc(
                     sizeof(struct_complexe16)));                      sizeof(struct_complexe16)));
   
Line 397  recherche_type(struct_processus *s_etat_ Line 394  recherche_type(struct_processus *s_etat_
                         sauvegarde_longueur_definitions_chainees;                          sauvegarde_longueur_definitions_chainees;
   
                 free(element);                  free(element);
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).traitement_interruptible =                  (*s_etat_processus).traitement_interruptible =
                         registre_interruption;                          registre_interruption;
Line 432  recherche_type(struct_processus *s_etat_ Line 429  recherche_type(struct_processus *s_etat_
             {              {
                 (*s_etat_processus).erreur_execution = d_ex_syntaxe;                  (*s_etat_processus).erreur_execution = d_ex_syntaxe;
   
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
                 free(element);                  free(element);
   
                 for(i = 0; i < (unsigned long) nombre_elements_convertis; i++)                  for(i = 0; i < (unsigned long) nombre_elements_convertis; i++)
Line 473  recherche_type(struct_processus *s_etat_ Line 470  recherche_type(struct_processus *s_etat_
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
   
                         free(element);                          free(element);
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         liberation(s_etat_processus, s_sous_objet);                          liberation(s_etat_processus, s_sous_objet);
   
Line 503  recherche_type(struct_processus *s_etat_ Line 500  recherche_type(struct_processus *s_etat_
                             (*s_etat_processus).erreur_execution = d_ex_syntaxe;                              (*s_etat_processus).erreur_execution = d_ex_syntaxe;
   
                             free(element);                              free(element);
                             free(s_objet);                              liberation(s_etat_processus, s_objet);
   
                             liberation(s_etat_processus, s_sous_objet);                              liberation(s_etat_processus, s_sous_objet);
   
Line 517  recherche_type(struct_processus *s_etat_ Line 514  recherche_type(struct_processus *s_etat_
                 }                  }
             }              }
   
               (*s_objet).type = CPL;
             break;              break;
         }          }
   
Line 528  recherche_type(struct_processus *s_etat_ Line 526  recherche_type(struct_processus *s_etat_
   
         case '#' :          case '#' :
         {          {
             (*s_objet).type = BIN;  
   
             element = (void *) ((logical8 *) malloc(              element = (void *) ((logical8 *) malloc(
                     sizeof(logical8)));                      sizeof(logical8)));
   
Line 580  recherche_type(struct_processus *s_etat_ Line 576  recherche_type(struct_processus *s_etat_
                             if (i != 0)                              if (i != 0)
                             {                              {
                                 free(element);                                  free(element);
                                 free(s_objet);                                  liberation(s_etat_processus, s_objet);
   
                                 (*s_etat_processus).erreur_execution =                                  (*s_etat_processus).erreur_execution =
                                         d_ex_syntaxe;                                          d_ex_syntaxe;
Line 684  recherche_type(struct_processus *s_etat_ Line 680  recherche_type(struct_processus *s_etat_
                             if (i != 0)                              if (i != 0)
                             {                              {
                                 free(element);                                  free(element);
                                 free(s_objet);                                  liberation(s_etat_processus, s_objet);
   
                                 (*s_etat_processus).erreur_execution =                                  (*s_etat_processus).erreur_execution =
                                         d_ex_syntaxe;                                          d_ex_syntaxe;
Line 798  recherche_type(struct_processus *s_etat_ Line 794  recherche_type(struct_processus *s_etat_
                             if (i != 0)                              if (i != 0)
                             {                              {
                                 free(element);                                  free(element);
                                 free(s_objet);                                  liberation(s_etat_processus, s_objet);
   
                                 (*s_etat_processus).erreur_execution =                                  (*s_etat_processus).erreur_execution =
                                         d_ex_syntaxe;                                          d_ex_syntaxe;
Line 942  recherche_type(struct_processus *s_etat_ Line 938  recherche_type(struct_processus *s_etat_
                             if (i != 0)                              if (i != 0)
                             {                              {
                                 free(element);                                  free(element);
                                 free(s_objet);                                  liberation(s_etat_processus, s_objet);
   
                                 (*s_etat_processus).erreur_execution =                                  (*s_etat_processus).erreur_execution =
                                         d_ex_syntaxe;                                          d_ex_syntaxe;
Line 993  recherche_type(struct_processus *s_etat_ Line 989  recherche_type(struct_processus *s_etat_
                     (erreur_lecture_binaire == d_vrai))                      (erreur_lecture_binaire == d_vrai))
             {              {
                 free(element);                  free(element);
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).erreur_execution = d_ex_syntaxe;                  (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                 (*s_etat_processus).traitement_interruptible =                  (*s_etat_processus).traitement_interruptible =
Line 1001  recherche_type(struct_processus *s_etat_ Line 997  recherche_type(struct_processus *s_etat_
                 return;                  return;
             }              }
   
               (*s_objet).type = BIN;
             break;              break;
         }          }
   
Line 1061  recherche_type(struct_processus *s_etat_ Line 1058  recherche_type(struct_processus *s_etat_
   
             if (niveau != 0)              if (niveau != 0)
             {              {
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).erreur_execution = d_ex_syntaxe;                  (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                 (*s_etat_processus).traitement_interruptible =                  (*s_etat_processus).traitement_interruptible =
Line 1217  recherche_type(struct_processus *s_etat_ Line 1214  recherche_type(struct_processus *s_etat_
                         (*s_etat_processus).longueur_definitions_chainees =                          (*s_etat_processus).longueur_definitions_chainees =
                                 sauvegarde_longueur_definitions_chainees;                                  sauvegarde_longueur_definitions_chainees;
   
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                         (*s_etat_processus).traitement_interruptible =                          (*s_etat_processus).traitement_interruptible =
Line 1268  recherche_type(struct_processus *s_etat_ Line 1265  recherche_type(struct_processus *s_etat_
                         (*s_etat_processus).longueur_definitions_chainees =                          (*s_etat_processus).longueur_definitions_chainees =
                                 sauvegarde_longueur_definitions_chainees;                                  sauvegarde_longueur_definitions_chainees;
   
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                         (*s_etat_processus).traitement_interruptible =                          (*s_etat_processus).traitement_interruptible =
Line 1345  recherche_type(struct_processus *s_etat_ Line 1342  recherche_type(struct_processus *s_etat_
                     }                      }
   
                     erreur = d_absence_erreur;                      erreur = d_absence_erreur;
                     free(s_objet);                      s_objet_registre = s_objet;
   
                     for(i = 0; (i < nombre_colonnes) &&                      for(i = 0; (i < nombre_colonnes) &&
                             (erreur == d_absence_erreur); i++)                              (erreur == d_absence_erreur); i++)
Line 1442  recherche_type(struct_processus *s_etat_ Line 1439  recherche_type(struct_processus *s_etat_
                                         (*s_etat_processus)                                          (*s_etat_processus)
                                                 .traitement_interruptible =                                                  .traitement_interruptible =
                                                 registre_interruption;                                                  registre_interruption;
                                           liberation(s_etat_processus,
                                                   s_objet_registre);
                                         return;                                          return;
                                     }                                      }
   
Line 1454  recherche_type(struct_processus *s_etat_ Line 1453  recherche_type(struct_processus *s_etat_
                                 free((*((struct_vecteur *) element)).tableau);                                  free((*((struct_vecteur *) element)).tableau);
                                 free(element);                                  free(element);
   
                                   liberation(s_etat_processus, s_objet_registre);
                                 (*s_etat_processus).traitement_interruptible =                                  (*s_etat_processus).traitement_interruptible =
                                         registre_interruption;                                          registre_interruption;
                                 return;                                  return;
Line 1468  recherche_type(struct_processus *s_etat_ Line 1468  recherche_type(struct_processus *s_etat_
                         }                          }
                     }                      }
   
                     s_objet = (struct_objet *) malloc(sizeof(struct_objet));                      s_objet = s_objet_registre;
   
                     if (s_objet == NULL)  
                     {  
                         (*s_etat_processus).erreur_systeme =  
                                 d_es_allocation_memoire;  
                         (*s_etat_processus).traitement_interruptible =  
                                 registre_interruption;  
                         return;  
                     }  
   
                     initialisation_objet(s_objet);  
   
                     if (drapeau_complexe == d_vrai)                      if (drapeau_complexe == d_vrai)
                     {                      {
Line 1636  recherche_type(struct_processus *s_etat_ Line 1625  recherche_type(struct_processus *s_etat_
                         (*s_etat_processus).position_courante =                          (*s_etat_processus).position_courante =
                                 position_courante;                                  position_courante;
   
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                         (*s_etat_processus).traitement_interruptible =                          (*s_etat_processus).traitement_interruptible =
Line 1688  recherche_type(struct_processus *s_etat_ Line 1677  recherche_type(struct_processus *s_etat_
                         (*s_etat_processus).position_courante =                          (*s_etat_processus).position_courante =
                                 position_courante;                                  position_courante;
   
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                         (*s_etat_processus).traitement_interruptible =                          (*s_etat_processus).traitement_interruptible =
Line 1771  recherche_type(struct_processus *s_etat_ Line 1760  recherche_type(struct_processus *s_etat_
                             }                              }
   
                             free(element);                              free(element);
                             free(s_objet);                              liberation(s_etat_processus, s_objet);
   
                             (*s_etat_processus).traitement_interruptible =                              (*s_etat_processus).traitement_interruptible =
                                     registre_interruption;                                      registre_interruption;
Line 1792  recherche_type(struct_processus *s_etat_ Line 1781  recherche_type(struct_processus *s_etat_
                         l_element_courant = (*l_element_courant).suivant;                          l_element_courant = (*l_element_courant).suivant;
                     }                      }
   
                     free(s_objet);                      s_objet_registre = s_objet;
   
                     if ((*s_etat_processus).erreur_execution == d_ex)                      if ((*s_etat_processus).erreur_execution == d_ex)
                     {                      {
Line 1803  recherche_type(struct_processus *s_etat_ Line 1792  recherche_type(struct_processus *s_etat_
                                     malloc(nombre_lignes * sizeof(                                      malloc(nombre_lignes * sizeof(
                                     struct_complexe16 *)))) == NULL)                                      struct_complexe16 *)))) == NULL)
                             {                              {
                                   liberation(s_etat_processus, s_objet_registre);
   
                                 (*s_etat_processus).erreur_systeme =                                  (*s_etat_processus).erreur_systeme =
                                         d_es_allocation_memoire;                                          d_es_allocation_memoire;
                                 (*s_etat_processus).traitement_interruptible =                                  (*s_etat_processus).traitement_interruptible =
Line 1820  recherche_type(struct_processus *s_etat_ Line 1811  recherche_type(struct_processus *s_etat_
                                         malloc(nombre_colonnes * sizeof(                                          malloc(nombre_colonnes * sizeof(
                                         struct_complexe16)))) == NULL)                                          struct_complexe16)))) == NULL)
                                 {                                  {
                                       liberation(s_etat_processus,
                                               s_objet_registre);
   
                                     (*s_etat_processus).erreur_systeme =                                      (*s_etat_processus).erreur_systeme =
                                             d_es_allocation_memoire;                                              d_es_allocation_memoire;
                                     (*s_etat_processus)                                      (*s_etat_processus)
Line 1836  recherche_type(struct_processus *s_etat_ Line 1830  recherche_type(struct_processus *s_etat_
                                     malloc(nombre_lignes * sizeof(real8 *))))                                      malloc(nombre_lignes * sizeof(real8 *))))
                                     == NULL)                                      == NULL)
                             {                              {
                                   liberation(s_etat_processus, s_objet_registre);
   
                                 (*s_etat_processus).erreur_systeme =                                  (*s_etat_processus).erreur_systeme =
                                         d_es_allocation_memoire;                                          d_es_allocation_memoire;
                                 (*s_etat_processus).traitement_interruptible =                                  (*s_etat_processus).traitement_interruptible =
Line 1852  recherche_type(struct_processus *s_etat_ Line 1848  recherche_type(struct_processus *s_etat_
                                         malloc(nombre_colonnes *                                          malloc(nombre_colonnes *
                                         sizeof(real8)))) == NULL)                                          sizeof(real8)))) == NULL)
                                 {                                  {
                                       liberation(s_etat_processus,
                                               s_objet_registre);
   
                                     (*s_etat_processus).erreur_systeme =                                      (*s_etat_processus).erreur_systeme =
                                             d_es_allocation_memoire;                                              d_es_allocation_memoire;
                                     (*s_etat_processus)                                      (*s_etat_processus)
Line 1868  recherche_type(struct_processus *s_etat_ Line 1867  recherche_type(struct_processus *s_etat_
                                     malloc(nombre_lignes *                                      malloc(nombre_lignes *
                                     sizeof(integer8 *)))) == NULL)                                      sizeof(integer8 *)))) == NULL)
                             {                              {
                                   liberation(s_etat_processus, s_objet_registre);
   
                                 (*s_etat_processus).erreur_systeme =                                  (*s_etat_processus).erreur_systeme =
                                         d_es_allocation_memoire;                                          d_es_allocation_memoire;
                                 (*s_etat_processus).traitement_interruptible =                                  (*s_etat_processus).traitement_interruptible =
Line 1885  recherche_type(struct_processus *s_etat_ Line 1886  recherche_type(struct_processus *s_etat_
                                         malloc(nombre_colonnes *                                          malloc(nombre_colonnes *
                                         sizeof(integer8)))) == NULL)                                          sizeof(integer8)))) == NULL)
                                 {                                  {
                                       liberation(s_etat_processus,
                                               s_objet_registre);
   
                                     (*s_etat_processus).erreur_systeme =                                      (*s_etat_processus).erreur_systeme =
                                             d_es_allocation_memoire;                                              d_es_allocation_memoire;
                                     (*s_etat_processus)                                      (*s_etat_processus)
Line 2027  recherche_type(struct_processus *s_etat_ Line 2031  recherche_type(struct_processus *s_etat_
                                                 .l_base_pile), &s_objet)                                                  .l_base_pile), &s_objet)
                                                 == d_erreur)                                                  == d_erreur)
                                         {                                          {
                                               liberation(s_etat_processus,
                                                       s_objet_registre);
   
                                             (*s_etat_processus)                                              (*s_etat_processus)
                                                     .traitement_interruptible =                                                      .traitement_interruptible =
                                                     registre_interruption;                                                      registre_interruption;
Line 2050  recherche_type(struct_processus *s_etat_ Line 2057  recherche_type(struct_processus *s_etat_
                                             .tableau);                                              .tableau);
                                     free(element);                                      free(element);
   
                                       liberation(s_etat_processus,
                                               s_objet_registre);
   
                                     (*s_etat_processus)                                      (*s_etat_processus)
                                             .traitement_interruptible =                                              .traitement_interruptible =
                                             registre_interruption;                                              registre_interruption;
Line 2066  recherche_type(struct_processus *s_etat_ Line 2076  recherche_type(struct_processus *s_etat_
                             }                              }
                         }                          }
   
                         s_objet = (struct_objet *) malloc(sizeof(struct_objet));                          s_objet = s_objet_registre;
   
                         if (s_objet == NULL)  
                         {  
                             (*s_etat_processus).erreur_systeme =  
                                     d_es_allocation_memoire;  
                             (*s_etat_processus).traitement_interruptible =  
                                     registre_interruption;  
                             return;  
                         }  
   
                         initialisation_objet(s_objet);  
   
                         if (drapeau_complexe == d_vrai)                          if (drapeau_complexe == d_vrai)
                         {                          {
Line 2287  recherche_type(struct_processus *s_etat_ Line 2286  recherche_type(struct_processus *s_etat_
                 (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;                  (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;
   
                 free((*s_etat_processus).definitions_chainees);                  free((*s_etat_processus).definitions_chainees);
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).definitions_chainees =                  (*s_etat_processus).definitions_chainees =
                         definitions_chainees_precedentes;                          definitions_chainees_precedentes;
Line 2368  recherche_type(struct_processus *s_etat_ Line 2367  recherche_type(struct_processus *s_etat_
                 (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;                  (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;
   
                 free((*s_etat_processus).definitions_chainees);                  free((*s_etat_processus).definitions_chainees);
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).definitions_chainees =                  (*s_etat_processus).definitions_chainees =
                         definitions_chainees_precedentes;                          definitions_chainees_precedentes;
Line 2419  recherche_type(struct_processus *s_etat_ Line 2418  recherche_type(struct_processus *s_etat_
                 (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;                  (*s_etat_processus).niveau_courant = sauvegarde_niveau_courant;
   
                 free((*s_etat_processus).definitions_chainees);                  free((*s_etat_processus).definitions_chainees);
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).definitions_chainees =                  (*s_etat_processus).definitions_chainees =
                         definitions_chainees_precedentes;                          definitions_chainees_precedentes;
Line 2459  recherche_type(struct_processus *s_etat_ Line 2458  recherche_type(struct_processus *s_etat_
             profondeur_finale = (*s_etat_processus).hauteur_pile_operationnelle;              profondeur_finale = (*s_etat_processus).hauteur_pile_operationnelle;
   
             l_element_courant = NULL;              l_element_courant = NULL;
               s_objet_registre = s_objet;
             free(s_objet);  
   
             for(i = 0; i < (profondeur_finale - profondeur_initiale); i++)              for(i = 0; i < (profondeur_finale - profondeur_initiale); i++)
             {              {
Line 2468  recherche_type(struct_processus *s_etat_ Line 2466  recherche_type(struct_processus *s_etat_
                         &((*s_etat_processus).l_base_pile),                          &((*s_etat_processus).l_base_pile),
                         &s_objet) == d_erreur)                          &s_objet) == d_erreur)
                 {                  {
                       liberation(s_etat_processus, s_objet_registre);
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
                             registre_interruption;                              registre_interruption;
                     return;                      return;
Line 2476  recherche_type(struct_processus *s_etat_ Line 2475  recherche_type(struct_processus *s_etat_
                 if (empilement(s_etat_processus, &l_element_courant,                  if (empilement(s_etat_processus, &l_element_courant,
                         s_objet) == d_erreur)                          s_objet) == d_erreur)
                 {                  {
                       liberation(s_etat_processus, s_objet_registre);
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
                             registre_interruption;                              registre_interruption;
                     return;                      return;
                 }                  }
             }              }
   
             s_objet = (struct_objet *) malloc(sizeof(struct_objet));              s_objet = s_objet_registre;
   
             if (s_objet == NULL)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;  
                 (*s_etat_processus).traitement_interruptible =  
                         registre_interruption;  
                 return;  
             }  
   
             initialisation_objet(s_objet);  
             (*s_objet).type = LST;              (*s_objet).type = LST;
             element = (void *) l_element_courant;              element = (void *) l_element_courant;
   
Line 2528  recherche_type(struct_processus *s_etat_ Line 2518  recherche_type(struct_processus *s_etat_
                     free(l_element_courant_fonctions);                      free(l_element_courant_fonctions);
                 }                  }
   
                 free(s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).traitement_interruptible =                  (*s_etat_processus).traitement_interruptible =
                         registre_interruption;                          registre_interruption;
Line 2567  recherche_type(struct_processus *s_etat_ Line 2557  recherche_type(struct_processus *s_etat_
                      * puis on renvoie une erreur.                       * puis on renvoie une erreur.
                      */                       */
   
                     free(s_objet);                      (*s_objet).type = NON;
                       liberation(s_etat_processus, s_objet);
   
                     l_element_courant = l_base_liste_decomposition;                      l_element_courant = l_base_liste_decomposition;
   
Line 3027  recherche_type(struct_processus *s_etat_ Line 3018  recherche_type(struct_processus *s_etat_
                     (*s_etat_processus).position_courante =                      (*s_etat_processus).position_courante =
                             position_courante;                              position_courante;
   
                     free(s_objet);                      liberation(s_etat_processus, s_objet);
   
                     (*s_etat_processus).erreur_execution = d_ex_syntaxe;                      (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
Line 3080  recherche_type(struct_processus *s_etat_ Line 3071  recherche_type(struct_processus *s_etat_
                     (*s_etat_processus).position_courante =                      (*s_etat_processus).position_courante =
                             position_courante;                              position_courante;
   
                     free(s_objet);                      liberation(s_etat_processus, s_objet);
   
                     (*s_etat_processus).erreur_execution = d_ex_syntaxe;                      (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
Line 3161  recherche_type(struct_processus *s_etat_ Line 3152  recherche_type(struct_processus *s_etat_
   
                 if (strlen((*s_etat_processus).instruction_courante) < 5)                  if (strlen((*s_etat_processus).instruction_courante) < 5)
                 {                  {
                     free(s_objet);                      liberation(s_etat_processus, s_objet);
   
                     (*s_etat_processus).erreur_execution = d_ex_syntaxe;                      (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
Line 3173  recherche_type(struct_processus *s_etat_ Line 3164  recherche_type(struct_processus *s_etat_
                         != 0) && (strcmp((*s_etat_processus)                          != 0) && (strcmp((*s_etat_processus)
                         .instruction_courante, "<<") != 0))                          .instruction_courante, "<<") != 0))
                 {                  {
                     free(s_objet);                      liberation(s_etat_processus, s_objet);
   
                     (*s_etat_processus).erreur_execution = d_ex_syntaxe;                      (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
Line 3194  recherche_type(struct_processus *s_etat_ Line 3185  recherche_type(struct_processus *s_etat_
                                 d_es_allocation_memoire;                                  d_es_allocation_memoire;
                     }                      }
   
                     free(s_objet);                      liberation(s_etat_processus, s_objet);
   
                     (*s_etat_processus).traitement_interruptible =                      (*s_etat_processus).traitement_interruptible =
                             registre_interruption;                              registre_interruption;
Line 3451  recherche_type(struct_processus *s_etat_ Line 3442  recherche_type(struct_processus *s_etat_
                             ((*ptr) != '_') &&                              ((*ptr) != '_') &&
                             ((*ptr) != '$'))                              ((*ptr) != '$'))
                     {                      {
                         free(s_objet);                          liberation(s_etat_processus, s_objet);
   
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                         (*s_etat_processus).traitement_interruptible =                          (*s_etat_processus).traitement_interruptible =

Removed from v.1.46  
changed lines
  Added in v.1.47


CVSweb interface <joel.bertrand@systella.fr>