Diff for /rpl/src/instructions_w1.c between versions 1.109 and 1.110

version 1.109, 2018/05/30 09:27:38 version 1.110, 2018/06/01 09:57:28
Line 410  instruction_write(struct_processus *s_et Line 410  instruction_write(struct_processus *s_et
     integer8                            recursivite;      integer8                            recursivite;
   
     logical1                            format_degenere;      logical1                            format_degenere;
       logical1                            format_oriente_ligne;
     logical1                            mise_a_jour;      logical1                            mise_a_jour;
   
   
     sqlite3_stmt                        *ppStmt;      sqlite3_stmt                        *ppStmt;
   
     ssize_t                             ios;      ssize_t                             ios;
Line 1507  instruction_write(struct_processus *s_et Line 1507  instruction_write(struct_processus *s_et
                         return;                          return;
                     }                      }
   
                     if (strncmp("LENGTH*(", format_chaine, 8) != 0)                      if (strcmp("LINE*(*)", format_chaine) == 0)
                     {                      {
                         free(format_chaine);                          format_oriente_ligne = d_vrai;
                           format_degenere = d_vrai;
                         liberation(s_etat_processus, s_objet_argument_2);  
                         liberation(s_etat_processus, s_objet_argument_1);  
   
                         (*s_etat_processus).erreur_execution =  
                                 d_ex_erreur_format_fichier;  
                         return;  
                     }                      }
                       else
                     longueur = (integer8) strlen(format_chaine);  
   
                     if (format_chaine[longueur - 1] != ')')  
                     {                      {
                         free(format_chaine);                          format_oriente_ligne = d_faux;
                           
                           if (strncmp("LENGTH*(", format_chaine, 8) != 0)
                           {
                               free(format_chaine);
   
                         liberation(s_etat_processus, s_objet_argument_2);                              liberation(s_etat_processus, s_objet_argument_2);
                         liberation(s_etat_processus, s_objet_argument_1);                              liberation(s_etat_processus, s_objet_argument_1);
   
                         (*s_etat_processus).erreur_execution =                              (*s_etat_processus).erreur_execution =
                                 d_ex_erreur_format_fichier;                                      d_ex_erreur_format_fichier;
                         return;                              return;
                     }                          }
   
                     format_chaine[longueur] = d_code_fin_chaine;                          longueur = (integer8) strlen(format_chaine);
   
                     if (format_chaine[8] == '*')                          if (format_chaine[longueur - 1] != ')')
                     {  
                         format_degenere = d_vrai;  
                     }  
                     else  
                     {  
                         // Détermination de la longueur  
                         format_degenere = d_faux;  
   
                         if (sscanf(&(format_chaine[8]), "%lld", &longueur) != 1)  
                         {                          {
                             free(format_chaine);                              free(format_chaine);
   
Line 1555  instruction_write(struct_processus *s_et Line 1541  instruction_write(struct_processus *s_et
                                     d_ex_erreur_format_fichier;                                      d_ex_erreur_format_fichier;
                             return;                              return;
                         }                          }
   
                           format_chaine[longueur] = d_code_fin_chaine;
   
                           if (format_chaine[8] == '*')
                           {
                               format_degenere = d_vrai;
                           }
                           else
                           {
                               // Détermination de la longueur
                               format_degenere = d_faux;
   
                               if (sscanf(&(format_chaine[8]), "%lld", &longueur)
                                       != 1)
                               {
                                   free(format_chaine);
   
                                   liberation(s_etat_processus,
                                           s_objet_argument_2);
                                   liberation(s_etat_processus,
                                           s_objet_argument_1);
   
                                   (*s_etat_processus).erreur_execution =
                                           d_ex_erreur_format_fichier;
                                   return;
                               }
                           }
                     }                      }
   
                     free(format_chaine);                      free(format_chaine);
Line 1596  instruction_write(struct_processus *s_et Line 1609  instruction_write(struct_processus *s_et
   
                     free(chaine);                      free(chaine);
   
                       if (format_oriente_ligne == d_vrai)
                       {
                           if (fwrite("\n", 1, 1, (*descripteur).descripteur_c)
                                   != 1)
                           {
                               (*s_etat_processus).erreur_systeme =
                                       d_es_erreur_fichier;
                               return;
                           }
                       }
   
                     l_element_courant = (*l_element_courant).suivant;                      l_element_courant = (*l_element_courant).suivant;
                     l_element_courant_format = (*l_element_courant_format)                      l_element_courant_format = (*l_element_courant_format)
                             .suivant;                              .suivant;

Removed from v.1.109  
changed lines
  Added in v.1.110


CVSweb interface <joel.bertrand@systella.fr>