Diff for /rpl/src/types.c between versions 1.55 and 1.58

version 1.55, 2013/02/26 19:56:18 version 1.58, 2013/03/16 11:31:41
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.12    RPL/2 (R) version 4.1.13
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2013 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 2222  recherche_type(struct_processus *s_etat_ Line 2222  recherche_type(struct_processus *s_etat_
                 if ((*s_etat_processus).definitions_chainees                  if ((*s_etat_processus).definitions_chainees
                         [(*s_etat_processus).position_courante] == '"')                          [(*s_etat_processus).position_courante] == '"')
                 {                  {
                     if (drapeau_chaine == d_faux)                      if ((*s_etat_processus).position_courante > 0)
                     {                      {
                         drapeau_chaine = d_vrai;                          if ((*s_etat_processus).definitions_chainees
                                   [(*s_etat_processus).position_courante - 1]
                                   != '\\')
                           {
                               if (drapeau_chaine == d_faux)
                               {
                                   drapeau_chaine = d_vrai;
                               }
                               else
                               {
                                   drapeau_chaine = d_faux;
                               }
                           }
                     }                      }
                     else                      else 
                     {                      {
                         drapeau_chaine = d_faux;                          if (drapeau_chaine == d_faux)
                           {
                               drapeau_chaine = d_vrai;
                           }
                           else
                           {
                               drapeau_chaine = d_faux;
                           }
                     }                      }
                 }                  }
                 else if (drapeau_chaine == d_faux)                  else if (drapeau_chaine == d_faux)
Line 3528  recherche_type(struct_processus *s_etat_ Line 3547  recherche_type(struct_processus *s_etat_
                     integer8                    conversion_entiere;                      integer8                    conversion_entiere;
                     real8                       conversion_reelle;                      real8                       conversion_reelle;
   
                     if (sscanf((*s_etat_processus).instruction_courante, "%lg",  
                             &conversion_reelle) != 1)  
                     {  
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;  
                     }  
   
                     if (sscanf((*s_etat_processus).instruction_courante, "%lld",                      if (sscanf((*s_etat_processus).instruction_courante, "%lld",
                             &conversion_entiere) != 1)                              &conversion_entiere) != 1)
                     {                      {
                         (*s_etat_processus).erreur_execution = d_ex_syntaxe;                          (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                     }                      }
   
                     if (abs(nextafter(conversion_reelle, conversion_entiere)                      if (errno != ERANGE)
                             - conversion_reelle) >= abs(conversion_reelle  
                             - conversion_entiere))  
                     {                      {
                         (*s_objet).type = INT;                          (*s_objet).type = INT;
   
Line 3561  recherche_type(struct_processus *s_etat_ Line 3572  recherche_type(struct_processus *s_etat_
                     }                      }
                     else                      else
                     {                      {
                           if (sscanf((*s_etat_processus).instruction_courante,
                                   "%lg", &conversion_reelle) != 1)
                           {
                               (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                           }
   
                         (*s_objet).type = REL;                          (*s_objet).type = REL;
   
                         element = malloc(sizeof(real8));                          element = malloc(sizeof(real8));

Removed from v.1.55  
changed lines
  Added in v.1.58


CVSweb interface <joel.bertrand@systella.fr>