Diff for /rpl/src/instructions_r4.c between versions 1.56 and 1.57

version 1.56, 2012/06/19 09:59:34 version 1.57, 2012/06/19 10:14:56
Line 867  instruction_read(struct_processus *s_eta Line 867  instruction_read(struct_processus *s_eta
     logical1                        indicateur_48;      logical1                        indicateur_48;
     logical1                        presence_chaine;      logical1                        presence_chaine;
     logical1                        presence_indicateur;      logical1                        presence_indicateur;
       logical1                        trame_complete;
   
     socklen_t                       longueur_adresse;      socklen_t                       longueur_adresse;
   
Line 2217  printf("L=%d\n", longueur_enregistrement Line 2218  printf("L=%d\n", longueur_enregistrement
             attente.tv_sec = 0;              attente.tv_sec = 0;
             attente.tv_nsec = GRANULARITE_us * 1000;              attente.tv_nsec = GRANULARITE_us * 1000;
   
               trame_complete = d_faux;
               position_initiale = 0;
               position_finale = 0;
   
             do              do
             {              {
                 presence_indicateur = d_faux;                  presence_indicateur = d_faux;
   
                 if ((tampon_lecture = realloc(tampon_lecture,                  if ((tampon_lecture = realloc(tampon_lecture,
                         (longueur_effective + longueur_questure)                          (longueur_effective + longueur_questure + 1)
                         * sizeof(unsigned char))) == NULL)                          * sizeof(unsigned char))) == NULL)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
Line 2244  printf("L=%d\n", longueur_enregistrement Line 2249  printf("L=%d\n", longueur_enregistrement
                         .domaine == PF_UNIX)                          .domaine == PF_UNIX)
                 {                  {
                     longueur_adresse = sizeof(adresse_unix);                      longueur_adresse = sizeof(adresse_unix);
                     ios = recvfrom((*((struct_socket *)  
                             (*s_objet_argument_1).objet)).socket,                      do
                             tampon_lecture + longueur_effective,                      {
                             longueur_questure,                          ios = recvfrom((*((struct_socket *)
                             MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  (*s_objet_argument_1).objet)).socket,
                             &adresse_unix, &longueur_adresse);                                  tampon_lecture + longueur_effective,
                                   longueur_questure,
                                   MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                   &adresse_unix, &longueur_adresse);
                       } while((ios == -1) && (errno == EINTR));
                 }                  }
                 else if ((*((struct_socket *) (*s_objet_argument_1).objet))                  else if ((*((struct_socket *) (*s_objet_argument_1).objet))
                         .domaine == PF_INET)                          .domaine == PF_INET)
                 {                  {
                     longueur_adresse = sizeof(adresse_ipv4);                      longueur_adresse = sizeof(adresse_ipv4);
                     ios = recvfrom((*((struct_socket *)  
                             (*s_objet_argument_1).objet)).socket,                      do
                             tampon_lecture + longueur_effective,                      {
                             longueur_questure,                          ios = recvfrom((*((struct_socket *)
                             MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  (*s_objet_argument_1).objet)).socket,
                             &adresse_ipv4, &longueur_adresse);                                  tampon_lecture + longueur_effective,
                                   longueur_questure,
                                   MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                   &adresse_ipv4, &longueur_adresse);
                       } while((ios == -1) && (errno == EINTR));
                 }                  }
                 else if ((*((struct_socket *) (*s_objet_argument_1).objet))                  else if ((*((struct_socket *) (*s_objet_argument_1).objet))
                         .domaine == PF_INET6)                          .domaine == PF_INET6)
                 {                  {
 #                   ifdef IPV6  #                   ifdef IPV6
                     longueur_adresse = sizeof(adresse_ipv6);                      longueur_adresse = sizeof(adresse_ipv6);
                     ios = recvfrom((*((struct_socket *)                      
                             (*s_objet_argument_1).objet)).socket,                      do
                             tampon_lecture + longueur_effective,                      {
                             longueur_questure,                          ios = recvfrom((*((struct_socket *)
                             MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  (*s_objet_argument_1).objet)).socket,
                             &adresse_ipv6, &longueur_adresse);                                  tampon_lecture + longueur_effective,
                                   longueur_questure,
                                   MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                   &adresse_ipv6, &longueur_adresse);
                       } while((ios == -1) && (errno == EINTR));
 #                   else  #                   else
                     if ((*s_etat_processus).langue == 'F')                      if ((*s_etat_processus).langue == 'F')
                     {                      {
Line 2385  printf("L=%d\n", longueur_enregistrement Line 2402  printf("L=%d\n", longueur_enregistrement
                             if (niveau == 0)                              if (niveau == 0)
                             {                              {
                                 presence_indicateur = d_vrai;                                  presence_indicateur = d_vrai;
                                   trame_complete = d_vrai;
                                 break;                                  break;
                             }                              }
   
Line 2399  printf("L=%d\n", longueur_enregistrement Line 2417  printf("L=%d\n", longueur_enregistrement
                             .domaine == PF_UNIX)                              .domaine == PF_UNIX)
                     {                      {
                         longueur_adresse = sizeof(adresse_unix);                          longueur_adresse = sizeof(adresse_unix);
                         ios = recvfrom((*((struct_socket *)  
                                 (*s_objet_argument_1).objet)).socket,                          do
                                 poubelle, position_finale                          {
                                 - ancienne_longueur_effective,                              ios = recvfrom((*((struct_socket *)
                                 MSG_DONTWAIT, (struct sockaddr *)                                      (*s_objet_argument_1).objet)).socket,
                                 &adresse_unix, &longueur_adresse);                                      poubelle, position_finale
                                       - ancienne_longueur_effective,
                                       MSG_DONTWAIT, (struct sockaddr *)
                                       &adresse_unix, &longueur_adresse);
                           }
                           while((ios == -1) && (errno == EINTR));
                     }                      }
                     else if ((*((struct_socket *) (*s_objet_argument_1)                      else if ((*((struct_socket *) (*s_objet_argument_1)
                             .objet)).domaine == PF_INET)                              .objet)).domaine == PF_INET)
                     {                      {
                         longueur_adresse = sizeof(adresse_ipv4);                          longueur_adresse = sizeof(adresse_ipv4);
                         ios = recvfrom((*((struct_socket *)  
                                 (*s_objet_argument_1).objet)).socket,                          do
                                 poubelle, position_finale                          {
                                 - ancienne_longueur_effective,                              ios = recvfrom((*((struct_socket *)
                                 MSG_DONTWAIT, (struct sockaddr *)                                      (*s_objet_argument_1).objet)).socket,
                                 &adresse_ipv4, &longueur_adresse);                                      poubelle, position_finale
                                       - ancienne_longueur_effective,
                                       MSG_DONTWAIT, (struct sockaddr *)
                                       &adresse_ipv4, &longueur_adresse);
                           }
                           while((ios == -1) && (errno == EINTR));
                     }                      }
                     else if ((*((struct_socket *) (*s_objet_argument_1)                      else if ((*((struct_socket *) (*s_objet_argument_1)
                             .objet)) .domaine == PF_INET6)                              .objet)) .domaine == PF_INET6)
                     {                      {
 #                       ifdef IPV6  #                       ifdef IPV6
                         longueur_adresse = sizeof(adresse_ipv6);                          longueur_adresse = sizeof(adresse_ipv6);
                         ios = recvfrom((*((struct_socket *)  
                                 (*s_objet_argument_1).objet)).socket,                          do
                                 poubelle, position_finale                          {
                                 - ancienne_longueur_effective,                              ios = recvfrom((*((struct_socket *)
                                 MSG_DONTWAIT, (struct sockaddr *)                                      (*s_objet_argument_1).objet)).socket,
                                 &adresse_ipv6, &longueur_adresse);                                      poubelle, position_finale
                                       - ancienne_longueur_effective,
                                       MSG_DONTWAIT, (struct sockaddr *)
                                       &adresse_ipv6, &longueur_adresse);
                           }
                           while((ios == -1) && (errno == EINTR));
 #                       else  #                       else
                         if ((*s_etat_processus).langue == 'F')                          if ((*s_etat_processus).langue == 'F')
                         {                          {
Line 2514  printf("L=%d\n", longueur_enregistrement Line 2547  printf("L=%d\n", longueur_enregistrement
                             d_ex_erreur_acces_fichier;                              d_ex_erreur_acces_fichier;
                     return;                      return;
                 }                  }
             } while(presence_indicateur == d_faux);              } while(trame_complete == d_faux);
   
             tampon_lecture[++position_finale] = d_code_fin_chaine;              tampon_lecture[++position_finale] = d_code_fin_chaine;
             tampon = (*s_etat_processus).instruction_courante;              tampon = (*s_etat_processus).instruction_courante;
Line 2531  printf("L=%d\n", longueur_enregistrement Line 2564  printf("L=%d\n", longueur_enregistrement
                 (*s_etat_processus).instruction_courante = tampon;                  (*s_etat_processus).instruction_courante = tampon;
                 free(tampon_lecture);                  free(tampon_lecture);
                                   
                   if (indicateur_48 == d_vrai)
                   {
                       sf(s_etat_processus, 48);
                   }
                   else
                   {
                       cf(s_etat_processus, 48);
                   }
   
                   if ((*s_etat_processus).var_volatile_requete_arret == -1)
                   {
                       (*s_etat_processus).erreur_execution = d_ex;
                   }
   
                 liberation(s_etat_processus, s_objet_argument_1);                  liberation(s_etat_processus, s_objet_argument_1);
                 return;                  return;
             }              }

Removed from v.1.56  
changed lines
  Added in v.1.57


CVSweb interface <joel.bertrand@systella.fr>