Diff for /rpl/src/instructions_t3.c between versions 1.45 and 1.46

version 1.45, 2013/03/21 11:30:30 version 1.46, 2013/03/23 17:46:28
Line 602  instruction_tokenize(struct_processus *s Line 602  instruction_tokenize(struct_processus *s
     unsigned char                       *registre_instruction_courante;      unsigned char                       *registre_instruction_courante;
     unsigned char                       *registre_definitions_chainees;      unsigned char                       *registre_definitions_chainees;
     unsigned char                       *tampon;      unsigned char                       *tampon;
       unsigned char                       *tampon2;
   
     integer8                            nombre_caracteres_echappement;      integer8                            nombre_caracteres_echappement;
     integer8                            registre_longueur_definitions_chainees;      integer8                            registre_longueur_definitions_chainees;
Line 652  instruction_tokenize(struct_processus *s Line 653  instruction_tokenize(struct_processus *s
     {      {
         // Conversion des caractères d'échappement          // Conversion des caractères d'échappement
   
         ptr = (unsigned char *) (*s_objet_argument).objet;          if ((tampon2 = malloc((strlen((*s_objet_argument).objet) + 1) *
                   sizeof(unsigned char))) == NULL)
           {
               (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
               return;
           }
   
           strcpy(tampon2, (*s_objet_argument).objet);
           ptr = tampon2;
         ptr2 = ptr;          ptr2 = ptr;
   
         while((*ptr) != d_code_fin_chaine)          while((*ptr) != d_code_fin_chaine)
Line 706  instruction_tokenize(struct_processus *s Line 715  instruction_tokenize(struct_processus *s
         // Remplacement des éventuels retours à la ligne et tabulations par          // Remplacement des éventuels retours à la ligne et tabulations par
         // des espaces.          // des espaces.
   
         ptr = (unsigned char *) (*s_objet_argument).objet;          ptr = tampon2;
   
         while((*ptr) != d_code_fin_chaine)          while((*ptr) != d_code_fin_chaine)
         {          {
Line 733  instruction_tokenize(struct_processus *s Line 742  instruction_tokenize(struct_processus *s
                 .longueur_definitions_chainees;                  .longueur_definitions_chainees;
         registre_position_courante = (*s_etat_processus).position_courante;          registre_position_courante = (*s_etat_processus).position_courante;
   
         (*s_etat_processus).definitions_chainees = (unsigned char *)          (*s_etat_processus).definitions_chainees = tampon2;
                 (*s_objet_argument).objet;  
         (*s_etat_processus).longueur_definitions_chainees =          (*s_etat_processus).longueur_definitions_chainees =
                 (integer8) strlen((*s_etat_processus).definitions_chainees);                  (integer8) strlen((*s_etat_processus).definitions_chainees);
         (*s_etat_processus).position_courante = 0;          (*s_etat_processus).position_courante = 0;
Line 757  instruction_tokenize(struct_processus *s Line 765  instruction_tokenize(struct_processus *s
                 (*s_etat_processus).position_courante =                  (*s_etat_processus).position_courante =
                         registre_position_courante;                          registre_position_courante;
   
                   free(tampon2);
   
                 liberation(s_etat_processus, s_objet_argument);                  liberation(s_etat_processus, s_objet_argument);
                 liberation(s_etat_processus, s_objet_resultat);                  liberation(s_etat_processus, s_objet_resultat);
   
Line 870  instruction_tokenize(struct_processus *s Line 880  instruction_tokenize(struct_processus *s
         (*s_etat_processus).longueur_definitions_chainees =          (*s_etat_processus).longueur_definitions_chainees =
                 registre_longueur_definitions_chainees;                  registre_longueur_definitions_chainees;
         (*s_etat_processus).position_courante = registre_position_courante;          (*s_etat_processus).position_courante = registre_position_courante;
   
           free(tampon2);
     }      }
   
 /*  /*
Line 893  instruction_tokenize(struct_processus *s Line 905  instruction_tokenize(struct_processus *s
     }      }
   
     liberation(s_etat_processus, s_objet_argument);      liberation(s_etat_processus, s_objet_argument);
   
     return;      return;
 }  }
   

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


CVSweb interface <joel.bertrand@systella.fr>