Diff for /rpl/src/instructions_c4.c between versions 1.59 and 1.85

version 1.59, 2014/07/24 14:38:43 version 1.85, 2024/01/17 16:57:12
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.19    RPL/2 (R) version 4.1.36
   Copyright (C) 1989-2014 Dr. BERTRAND Joël    Copyright (C) 1989-2024 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 471  instruction_convert(struct_processus *s_ Line 471  instruction_convert(struct_processus *s_
                     (unsigned char *) (*s_objet_argument_2).objet,                      (unsigned char *) (*s_objet_argument_2).objet,
                     (unsigned char *) (*s_objet_argument_1).objet);                      (unsigned char *) (*s_objet_argument_1).objet);
   
             if (alsprintf(&executable_candidat, "%s/bin/rplconvert",              if (alsprintf(s_etat_processus, &executable_candidat,
                     d_exec_path) < 0)                      "%s/bin/rplconvert", d_exec_path) < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                 return;                  return;
Line 506  instruction_convert(struct_processus *s_ Line 506  instruction_convert(struct_processus *s_
                     (unsigned char *) (*s_objet_argument_2).objet,                      (unsigned char *) (*s_objet_argument_2).objet,
                     (unsigned char *) (*s_objet_argument_1).objet);                      (unsigned char *) (*s_objet_argument_1).objet);
   
             if (alsprintf(&executable_candidat, "%s/bin/rplconvert",              if (alsprintf(s_etat_processus, &executable_candidat,
                     (*s_etat_processus).rpl_home) < 0)                      "%s/bin/rplconvert", (*s_etat_processus).rpl_home) < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                 return;                  return;
Line 664  instruction_close(struct_processus *s_et Line 664  instruction_close(struct_processus *s_et
   
     struct_objet                *s_objet_argument;      struct_objet                *s_objet_argument;
   
       unsigned char               socket_en_ecoute;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
     if ((*s_etat_processus).affichage_arguments == 'Y')      if ((*s_etat_processus).affichage_arguments == 'Y')
Line 780  instruction_close(struct_processus *s_et Line 782  instruction_close(struct_processus *s_et
   
         if (fclose((*descripteur).descripteur_c) != 0)          if (fclose((*descripteur).descripteur_c) != 0)
         {          {
             perror("fclose");  
             free(descripteur);              free(descripteur);
             liberation(s_etat_processus, s_objet_argument);              liberation(s_etat_processus, s_objet_argument);
   
Line 853  instruction_close(struct_processus *s_et Line 854  instruction_close(struct_processus *s_et
   
         socket = -1;          socket = -1;
         socket_connectee = d_faux;          socket_connectee = d_faux;
           socket_en_ecoute = 'Y';
   
         while(l_element_courant != NULL)          while(l_element_courant != NULL)
         {          {
Line 864  instruction_close(struct_processus *s_et Line 866  instruction_close(struct_processus *s_et
                         (*(*l_element_courant).donnee).objet)).socket;                          (*(*l_element_courant).donnee).objet)).socket;
                 socket_connectee = (*((struct_socket *)                  socket_connectee = (*((struct_socket *)
                         (*(*l_element_courant).donnee).objet)).socket_connectee;                          (*(*l_element_courant).donnee).objet)).socket_connectee;
                   socket_en_ecoute = (*((struct_socket *)
                           (*(*l_element_courant).donnee).objet)).socket_en_ecoute;
   
                 if (l_element_precedent == NULL)                  if (l_element_precedent == NULL)
                 {                  {
Line 904  instruction_close(struct_processus *s_et Line 908  instruction_close(struct_processus *s_et
   
         if (socket_connectee == d_vrai)          if (socket_connectee == d_vrai)
         {          {
             shutdown(socket, SHUT_RDWR);              if (socket_en_ecoute == 'N')
               {
                   shutdown(socket, SHUT_RDWR);
               }
         }          }
   
         if (close(socket) != 0)          if (close(socket) != 0)

Removed from v.1.59  
changed lines
  Added in v.1.85


CVSweb interface <joel.bertrand@systella.fr>