Diff for /rpl/modules/sets/types.rplc between versions 1.1 and 1.2

version 1.1, 2017/06/29 12:32:57 version 1.2, 2017/06/29 14:54:42
Line 5 Line 5
 // Les objets de type ensemble sont délimités par ([ ]) et ne contiennent  // Les objets de type ensemble sont délimités par ([ ]) et ne contiennent
 // que des entiers.  // que des entiers.
   
   // Attention : ces fonctions sont à écrire directement en C et non
   // en RPL/C car elles interviennent dans le noyau RPL/2.
   
 declareTypeExtension(parse)  declareTypeExtension(parse)
     if ((*rptr) == '(')      if ((*rptr) == '(')
     {      {
Line 60  declareTypeExtension(parse) Line 63  declareTypeExtension(parse)
 endTypeExtension  endTypeExtension
   
 declareTypeExtension(new)  declareTypeExtension(new)
 endTypeExtension      // Si le premier caractère de la chaîne est '(' et que le dernier est ')',
       // on les retire.
   
 declareTypeExtension(dup)      char *tmp;
   
   printf("<1>\n");
       if (((*iptr) == '(') && ((*(iptr + strlen(iptr) - 1)) == ')'))
       {
           if ((tmp = malloc((strlen(iptr) + 1) * sizeof(unsigned char)))
                   == NULL)
           {
   printf("<2>\n");
               typeError;
           }
   printf("<3>\n");
   
           // Sauvegarde de l'instruction courante.
           strcpy(tmp, iptr);
   
           // Création d'une nouvelle instruction courante amputée de ses premier
           // et dernier caractères.
           memmove(iptr, iptr + 1, strlen(iptr) - 2);
           *(iptr + strlen(iptr) - 2) = 0;
   
   printf("<4>\n");
           searchType;
   printf("<5>\n");
   
           // Restauration de l'instruction courante
           free(iptr);
   printf("<6>\n");
           iptr = tmp;
   
   printf("<7>\n");
           if (((*arg) = malloc(sizeof(integer8))) == NULL)
           {
               typeError;
           }
   
           (*((integer8 *) arg)) = 10;
   printf("<8>\n");
           instruction_drop(s_etat_processus);
   printf("<9>\n");
           typeFound(ISET);
       }
   
   printf("<10>\n");
       typeError;
 endTypeExtension  endTypeExtension
   
 declareTypeExtension(disp)  declareTypeExtension(disp)
       (*arg) = malloc(10);
       strcpy((*arg), "ici");
   endTypeExtension
   
   declareTypeExtension(dup)
 endTypeExtension  endTypeExtension
   
 declareTypeExtension(drop)  declareTypeExtension(drop)

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb interface <joel.bertrand@systella.fr>