Diff for /rpl/src/transliteration.c between versions 1.79 and 1.99

version 1.79, 2015/01/27 14:18:10 version 1.99, 2019/02/07 21:44:15
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.20    RPL/2 (R) version 4.1.31
   Copyright (C) 1989-2015 Dr. BERTRAND Joël    Copyright (C) 1989-2019 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 131  reencodage(struct_processus *s_etat_proc Line 131  reencodage(struct_processus *s_etat_proc
         longueur_sortie = d_LONGUEUR;          longueur_sortie = d_LONGUEUR;
         pointeur = buffer_sortie;          pointeur = buffer_sortie;
   
         if ((ios = iconv(transcodage, (char **) &buffer_entree,          if ((ios = iconv(transcodage, (const char **) &buffer_entree,
                 &longueur_entree, (char **) &pointeur, &longueur_sortie))                  &longueur_entree, (char **) &pointeur, &longueur_sortie))
                 == (size_t) -1)                  == (size_t) -1)
         {          {
Line 291  localisation_courante(struct_processus * Line 291  localisation_courante(struct_processus *
   
     verrouillage_threads_concurrents(s_etat_processus);      verrouillage_threads_concurrents(s_etat_processus);
     pid = fork();      pid = fork();
     deverrouillage_threads_concurrents(s_etat_processus);  
   
     if (pid < 0)      if (pid < 0)
     {      {
Line 419  localisation_courante(struct_processus * Line 418  localisation_courante(struct_processus *
     }      }
     else      else
     {      {
           deverrouillage_threads_concurrents(s_etat_processus);
   
         if (close(pipes_entree[0]) != 0)          if (close(pipes_entree[0]) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
Line 464  localisation_courante(struct_processus * Line 465  localisation_courante(struct_processus *
                 return;                  return;
             }              }
   
             if (waitpid(pid, &status, 0) == -1)              while(waitpid(pid, &status, 0) == -1)
             {              {
 #               ifndef SEMAPHORES_NOMMES                  if (errno != EINTR)
                     while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  
 #               else  
                     while(sem_wait((*s_etat_processus).semaphore_fork) != 0)  
 #               endif  
                 {                  {
                     if (errno != EINTR)  #                   ifndef SEMAPHORES_NOMMES
                           while(sem_wait(&((*s_etat_processus).semaphore_fork))
                                   != 0)
   #                   else
                           while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #                   endif
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          if (errno != EINTR)
                         return;                          {
                               (*s_etat_processus).erreur_systeme = d_es_processus;
                               return;
                           }
                     }                      }
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                      return;
                   }
             }              }
   
 #           ifndef SEMAPHORES_NOMMES  #           ifndef SEMAPHORES_NOMMES
Line 799  std_fprintf(file *flux, const char *form Line 804  std_fprintf(file *flux, const char *form
     ios = vfprintf(flux, format, arguments);      ios = vfprintf(flux, format, arguments);
     va_end(arguments);      va_end(arguments);
   
     return(ios);      // Pas de parenthèses pour ne pas appeler la macro.
       return ios;
 }  }
   
   

Removed from v.1.79  
changed lines
  Added in v.1.99


CVSweb interface <joel.bertrand@systella.fr>