Diff for /rpl/src/instructions_r4.c between versions 1.91 and 1.103

version 1.91, 2015/01/05 13:12:38 version 1.103, 2017/06/28 09:20:35
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.19    RPL/2 (R) version 4.1.27
   Copyright (C) 1989-2015 Dr. BERTRAND Joël    Copyright (C) 1989-2017 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 1331  instruction_read(struct_processus *s_eta Line 1331  instruction_read(struct_processus *s_eta
                     return;                      return;
                 }                  }
   
                 if (alsprintf(&commande, "select data from data where "                  if (alsprintf(s_etat_processus, &commande,
                         "id = %lld", (*((integer8 *) (*s_objet_argument_2)                          "select data from data where id = %lld",
                         .objet))) < 0)                          (*((integer8 *) (*s_objet_argument_2).objet))) < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
                             d_es_allocation_memoire;                              d_es_allocation_memoire;
Line 1504  instruction_read(struct_processus *s_eta Line 1504  instruction_read(struct_processus *s_eta
   
                 // Récupération de la position de la clef                  // Récupération de la position de la clef
   
                 if (alsprintf(&commande, "select key from control "                  if (alsprintf(s_etat_processus, &commande,
                         "where id = 1") < 0)                          "select key from control where id = 1") < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
                             d_es_allocation_memoire;                              d_es_allocation_memoire;
Line 1578  instruction_read(struct_processus *s_eta Line 1578  instruction_read(struct_processus *s_eta
   
                 // Récupération de l'identifiant de la clef                  // Récupération de l'identifiant de la clef
   
                 if (alsprintf(&commande, "select id from key where key = "                  if (alsprintf(s_etat_processus, &commande,
                         "'{ \"%s\" }'", clef_utf8) < 0)                          "select id from key where key = '{ \"%s\" }'",
                           clef_utf8) < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
                             d_es_allocation_memoire;                              d_es_allocation_memoire;
Line 1671  instruction_read(struct_processus *s_eta Line 1672  instruction_read(struct_processus *s_eta
   
                 free(commande);                  free(commande);
   
                 if (alsprintf(&commande, "select data from data where "                  if (alsprintf(s_etat_processus, &commande,
                           "select data from data where "
                         "key_id = %lld order by sequence asc", id) < 0)                          "key_id = %lld order by sequence asc", id) < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
Line 1801  instruction_read(struct_processus *s_eta Line 1803  instruction_read(struct_processus *s_eta
                                     return;                                      return;
                                 }                                  }
   
                                 if (alsprintf(&tampon2, "{ \"%s\" }",                                  if (alsprintf(s_etat_processus, &tampon2,
                                         (*s_etat_processus)                                          "{ \"%s\" }", (*s_etat_processus)
                                         .instruction_courante) < 0)                                          .instruction_courante) < 0)
                                 {                                  {
                                     (*s_etat_processus).erreur_systeme =                                      (*s_etat_processus).erreur_systeme =
Line 2060  instruction_read(struct_processus *s_eta Line 2062  instruction_read(struct_processus *s_eta
                         return;                          return;
                     }                      }
   
                     if ((format_chaine = conversion_majuscule((unsigned char *)                      if ((format_chaine = conversion_majuscule(
                               s_etat_processus, (unsigned char *)
                             (*(*l_element_courant_format).donnee).objet))                              (*(*l_element_courant_format).donnee).objet))
                             == NULL)                              == NULL)
                     {                      {
Line 2160  instruction_read(struct_processus *s_eta Line 2163  instruction_read(struct_processus *s_eta
                                 }                                  }
                             }                              }
                         }                          }
                           else
                           {
                               // Évite un warning de gcc.
                               longueur_questure = 0;
                               index = 0;
                               timeout = 0;
                           }
   
                         do                          do
                         {                          {
Line 3512  instruction_read(struct_processus *s_eta Line 3522  instruction_read(struct_processus *s_eta
         }          }
         else          else
         { // FLOW          { // FLOW
 #if 0  
             longueur_questure = 256;              longueur_questure = 256;
   
             do              do
             {              {
                 if ((tampon_lecture = malloc((longueur_questure + 1) *                  if ((tampon_lecture = malloc((((long long unsigned int)
                           longueur_questure) + 1) *
                         sizeof(unsigned char))) == NULL)                          sizeof(unsigned char))) == NULL)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
Line 3546  instruction_read(struct_processus *s_eta Line 3556  instruction_read(struct_processus *s_eta
                         longueur_adresse = sizeof(adresse_unix);                          longueur_adresse = sizeof(adresse_unix);
                         longueur_effective = recvfrom((*((struct_socket *)                          longueur_effective = recvfrom((*((struct_socket *)
                                 (*s_objet_argument_1).objet)).socket,                                  (*s_objet_argument_1).objet)).socket,
                                 tampon_lecture, longueur_questure,                                  tampon_lecture, (long unsigned int)
                                   longueur_questure,
                                 MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                 &adresse_unix, &longueur_adresse);                                  &adresse_unix, &longueur_adresse);
                     }                      }
Line 3556  instruction_read(struct_processus *s_eta Line 3567  instruction_read(struct_processus *s_eta
                         longueur_adresse = sizeof(adresse_ipv4);                          longueur_adresse = sizeof(adresse_ipv4);
                         longueur_effective = recvfrom((*((struct_socket *)                          longueur_effective = recvfrom((*((struct_socket *)
                                 (*s_objet_argument_1).objet)).socket,                                  (*s_objet_argument_1).objet)).socket,
                                 tampon_lecture, longueur_questure,                                  tampon_lecture, (long unsigned int)
                                   longueur_questure,
                                 MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                 &adresse_ipv4, &longueur_adresse);                                  &adresse_ipv4, &longueur_adresse);
                     }                      }
Line 3567  instruction_read(struct_processus *s_eta Line 3579  instruction_read(struct_processus *s_eta
                         longueur_adresse = sizeof(adresse_ipv6);                          longueur_adresse = sizeof(adresse_ipv6);
                         longueur_effective = recvfrom((*((struct_socket *)                          longueur_effective = recvfrom((*((struct_socket *)
                                 (*s_objet_argument_1).objet)).socket,                                  (*s_objet_argument_1).objet)).socket,
                                 tampon_lecture, longueur_questure,                                  tampon_lecture, (long unsigned int)
                                   longueur_questure,
                                 MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)                                  MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *)
                                 &adresse_ipv6, &longueur_adresse);                                  &adresse_ipv6, &longueur_adresse);
 #                       else  #                       else
Line 3695  instruction_read(struct_processus *s_eta Line 3708  instruction_read(struct_processus *s_eta
                 return;                  return;
             }              }
   
             if (((*s_objet_type).objet = malloc(longueur_enregistrement *              if (((*s_objet_type).objet = malloc((long long unsigned int)
                       longueur_enregistrement *
                     sizeof(unsigned char))) == NULL)                      sizeof(unsigned char))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 3779  instruction_read(struct_processus *s_eta Line 3793  instruction_read(struct_processus *s_eta
                 longueur_adresse = 0;                  longueur_adresse = 0;
                 recvfrom((*((struct_socket *)                  recvfrom((*((struct_socket *)
                         (*s_objet_argument_1).objet)).socket, tampon_lecture,                          (*s_objet_argument_1).objet)).socket, tampon_lecture,
                         position_finale, MSG_DONTWAIT,                          (long unsigned int) longueur_effective, MSG_DONTWAIT,
                         NULL, &longueur_adresse);                          NULL, &longueur_adresse);
   
                 (*s_objet_adresse).objet = NULL;                  (*s_objet_adresse).objet = NULL;
Line 3790  instruction_read(struct_processus *s_eta Line 3804  instruction_read(struct_processus *s_eta
                 longueur_adresse = sizeof(adresse_ipv4);                  longueur_adresse = sizeof(adresse_ipv4);
                 recvfrom((*((struct_socket *)                  recvfrom((*((struct_socket *)
                         (*s_objet_argument_1).objet)).socket, tampon_lecture,                          (*s_objet_argument_1).objet)).socket, tampon_lecture,
                         position_finale, MSG_DONTWAIT,                          (long unsigned int) longueur_effective, MSG_DONTWAIT,
                         (struct sockaddr *) &adresse_ipv4, &longueur_adresse);                          (struct sockaddr *) &adresse_ipv4, &longueur_adresse);
   
                 if (((*s_objet_adresse).objet =                  if (((*s_objet_adresse).objet =
Line 3870  instruction_read(struct_processus *s_eta Line 3884  instruction_read(struct_processus *s_eta
                 longueur_adresse = sizeof(adresse_ipv6);                  longueur_adresse = sizeof(adresse_ipv6);
                 recvfrom((*((struct_socket *)                  recvfrom((*((struct_socket *)
                         (*s_objet_argument_1).objet)).socket, tampon_lecture,                          (*s_objet_argument_1).objet)).socket, tampon_lecture,
                         position_finale, MSG_DONTWAIT,                          (long unsigned int) longueur_effective, MSG_DONTWAIT,
                         (struct sockaddr *) &adresse_ipv6, &longueur_adresse);                          (struct sockaddr *) &adresse_ipv6, &longueur_adresse);
   
                 if (((*s_objet_adresse).objet =                  if (((*s_objet_adresse).objet =
Line 3951  instruction_read(struct_processus *s_eta Line 3965  instruction_read(struct_processus *s_eta
                 longueur_adresse = 0;                  longueur_adresse = 0;
                 recvfrom((*((struct_socket *)                  recvfrom((*((struct_socket *)
                         (*s_objet_argument_1).objet)).socket, tampon_lecture,                          (*s_objet_argument_1).objet)).socket, tampon_lecture,
                         position_finale, MSG_DONTWAIT,                          (long unsigned int) longueur_effective, MSG_DONTWAIT,
                         NULL, &longueur_adresse);                          NULL, &longueur_adresse);
             }              }
   
Line 3962  instruction_read(struct_processus *s_eta Line 3976  instruction_read(struct_processus *s_eta
             {              {
                 return;                  return;
             }              }
 #endif  
         }          }
     }      }
     else      else

Removed from v.1.91  
changed lines
  Added in v.1.103


CVSweb interface <joel.bertrand@systella.fr>