Diff for /rpl/src/formateur.c between versions 1.12 and 1.29

version 1.12, 2010/05/24 10:58:30 version 1.29, 2011/06/21 07:45:21
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.16    RPL/2 (R) version 4.1.0.prerelease.1
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 392  formateur(struct_processus *s_etat_proce Line 392  formateur(struct_processus *s_etat_proce
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
         if (alsprintf(&chaine, "Socket %016lX",          if (alsprintf(&chaine, "Socket $ %016lX",
                 (unsigned long) (*((struct_socket *)                  (unsigned long) (*((struct_socket *)
                 ((*s_objet).objet))).socket) < 0)                  ((*s_objet).objet))).socket) < 0)
         {          {
Line 1759  formateur(struct_processus *s_etat_proce Line 1759  formateur(struct_processus *s_etat_proce
             return(NULL);              return(NULL);
         }          }
   
         if ((*s_etat_processus).autorisation_conversion_chaine == 'Y')          if (((*s_etat_processus).autorisation_conversion_chaine == 'Y') &&
                   (test_cfsf(s_etat_processus, 34) == d_vrai))
         {          {
             ptr_lecture = (unsigned char *) (*s_objet).objet;              ptr_lecture = (unsigned char *) (*s_objet).objet;
             ptr_ecriture = chaine;              ptr_ecriture = chaine;
Line 1792  formateur(struct_processus *s_etat_proce Line 1793  formateur(struct_processus *s_etat_proce
                         ptr_lecture++;                          ptr_lecture++;
                         (*ptr_ecriture) = '\t';                          (*ptr_ecriture) = '\t';
                     }                      }
                       else if ((*(ptr_lecture + 1)) == 'x')
                       {
                           ptr_lecture += 2;
   
                           if ((*ptr_lecture) != d_code_fin_chaine)
                           {
                               if ((*(ptr_lecture + 1)) != d_code_fin_chaine)
                               {
                                   logical1        erreur;
                                   unsigned char   ec;
   
                                   erreur = d_faux;
   
                                   switch(*ptr_lecture)
                                   {
                                       case '0':
                                       case '1':
                                       case '2':
                                       case '3':
                                       case '4':
                                       case '5':
                                       case '6':
                                       case '7':
                                       case '8':
                                       case '9':
                                           ec = (*ptr_lecture) - '0';
                                           break;
   
                                       case 'A':
                                       case 'B':
                                       case 'C':
                                       case 'D':
                                       case 'E':
                                       case 'F':
                                           ec = ((*ptr_lecture) - 'A') + 10;
                                           break;
   
                                       default:
                                           ec = 0;
                                           erreur = d_vrai;
                                           break;
                                   }
   
                                   ec *= 0x10;
                                   ptr_lecture++;
   
                                   switch(*ptr_lecture)
                                   {
                                       case '0':
                                       case '1':
                                       case '2':
                                       case '3':
                                       case '4':
                                       case '5':
                                       case '6':
                                       case '7':
                                       case '8':
                                       case '9':
                                           ec += (*ptr_lecture) - '0';
                                           break;
   
                                       case 'A':
                                       case 'B':
                                       case 'C':
                                       case 'D':
                                       case 'E':
                                       case 'F':
                                           ec += ((*ptr_lecture) - 'A') + 10;
                                           break;
   
                                       default:
                                           erreur = d_vrai;
                                           break;
                                   }
   
                                   (*ptr_ecriture) = ec;
   
                                   if (erreur == d_vrai)
                                   {
                                       if ((*s_etat_processus).langue == 'F')
                                       {
                                           printf("+++Information : "
                                                   "Séquence d'échappement "
                                                   "inconnue [%d]\n",
                                                   (int) getpid());
                                       }
                                       else
                                       {
                                           printf("+++Warning : Unknown "
                                                   "escape code "
                                                   "[%d]\n", (int) getpid());
                                       }
                                   }
                               }
                               else
                               {
                                   if ((*s_etat_processus).langue == 'F')
                                   {
                                       printf("+++Information : "
                                               "Séquence d'échappement "
                                               "inconnue [%d]\n", (int) getpid());
                                   }
                                   else
                                   {
                                       printf("+++Warning : Unknown escape code "
                                               "[%d]\n", (int) getpid());
                                   }
                               }
                           }
                           else
                           {
                               if ((*s_etat_processus).langue == 'F')
                               {
                                   printf("+++Information : "
                                           "Séquence d'échappement "
                                           "inconnue [%d]\n", (int) getpid());
                               }
                               else
                               {
                                   printf("+++Warning : Unknown escape code "
                                           "[%d]\n", (int) getpid());
                               }
                           }
                       }
                     else if ((*(ptr_lecture + 1)) == '\\')                      else if ((*(ptr_lecture + 1)) == '\\')
                     {                      {
                         ptr_lecture++;                          ptr_lecture++;
Line 1817  formateur(struct_processus *s_etat_proce Line 1942  formateur(struct_processus *s_etat_proce
   
             (*ptr_ecriture) = d_code_fin_chaine;              (*ptr_ecriture) = d_code_fin_chaine;
   
             if ((chaine = realloc(chaine, (strlen(chaine) + 1) *              if ((chaine = realloc(chaine, ((ptr_ecriture - chaine) + 1) *
                     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 3758  formateur_reel(struct_processus *s_etat_ Line 3883  formateur_reel(struct_processus *s_etat_
   
             if (exposant >= 0)              if (exposant >= 0)
             {              {
                 sprintf(format, "%%.%luf", (longueur_utile_limite - exposant                  if ((exposant + 1) < longueur_utile_limite)
                         - 1));                  {
                       sprintf(format, "%%.%luf", (longueur_utile_limite - exposant
                               - 1));
                   }
                   else
                   {
                       strcpy(format, "%.0f.");
                   }
             }              }
             else              else
             {              {

Removed from v.1.12  
changed lines
  Added in v.1.29


CVSweb interface <joel.bertrand@systella.fr>