Diff for /rpl/src/instructions_s1.c between versions 1.48 and 1.49

version 1.48, 2012/05/21 17:25:44 version 1.49, 2012/06/12 11:44:34
Line 3417  instruction_syseval(struct_processus *s_ Line 3417  instruction_syseval(struct_processus *s_
     struct sigaction            action_courante;      struct sigaction            action_courante;
     struct sigaction            action_passee;      struct sigaction            action_passee;
   
       unsigned char               *ligne;
     unsigned char               *ptr;      unsigned char               *ptr;
     unsigned char               *ptr2;      unsigned char               *ptr2;
     unsigned char               registre_autorisation_empilement_programme;      unsigned char               registre_autorisation_empilement_programme;
Line 3855  instruction_syseval(struct_processus *s_ Line 3856  instruction_syseval(struct_processus *s_
   
                 while(l_element_courant != NULL)                  while(l_element_courant != NULL)
                 {                  {
                     longueur_ecriture = strlen((unsigned char *)                      if ((ligne = formateur_flux(s_etat_processus,
                             (*(*l_element_courant).donnee).objet);                              (unsigned char *) (*(*l_element_courant).donnee)
                               .objet, &longueur_ecriture)) == NULL)
                       {
                           (*s_etat_processus).erreur_systeme =
                                   d_es_allocation_memoire;
                           return;
                       }
   
 #                   ifndef SEMAPHORES_NOMMES  #                   ifndef SEMAPHORES_NOMMES
                         if (sem_post(&((*s_etat_processus).semaphore_fork))                          if (sem_post(&((*s_etat_processus).semaphore_fork))
Line 3870  instruction_syseval(struct_processus *s_ Line 3877  instruction_syseval(struct_processus *s_
                     }                      }
   
                     while(write_atomic(s_etat_processus,                      while(write_atomic(s_etat_processus,
                             pipes_entree[1], (unsigned char *)                              pipes_entree[1], ligne,
                             (*(*l_element_courant).donnee).objet,  
                             longueur_ecriture) != longueur_ecriture)                              longueur_ecriture) != longueur_ecriture)
                     {                      {
 #                       ifndef SEMAPHORES_NOMMES  #                       ifndef SEMAPHORES_NOMMES
Line 3906  instruction_syseval(struct_processus *s_ Line 3912  instruction_syseval(struct_processus *s_
                         }                          }
                     }                      }
   
                       free(ligne);
   
                     while(write_atomic(s_etat_processus,                      while(write_atomic(s_etat_processus,
                             pipes_entree[1], "\n", 1) != 1)                              pipes_entree[1], "\n", 1) != 1)
                     {                      {
Line 4031  instruction_syseval(struct_processus *s_ Line 4039  instruction_syseval(struct_processus *s_
                 return;                  return;
             }              }
   
               tampon[0] = d_code_fin_chaine;
   
 #           ifndef SEMAPHORES_NOMMES  #           ifndef SEMAPHORES_NOMMES
                 if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)                  if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
 #           else  #           else
Line 4116  instruction_syseval(struct_processus *s_ Line 4126  instruction_syseval(struct_processus *s_
              * Transformation de la chaîne en liste               * Transformation de la chaîne en liste
              */               */
   
             longueur_tampon = strlen(tampon);              if ((ligne = analyse_flux(s_etat_processus, tampon,
                       &longueur_tampon)) == NULL)
               {
                   (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                   return;
               }
   
               free(tampon);
               tampon = ligne;
   
             for(i = 0, ptr = tampon, nombre_lignes = 0;              for(i = 0, ptr = tampon, nombre_lignes = 0;
                     i < (long) longueur_tampon; i++, ptr++)                      i < (long) longueur_tampon; i++, ptr++)

Removed from v.1.48  
changed lines
  Added in v.1.49


CVSweb interface <joel.bertrand@systella.fr>