Diff for /rpl/src/instructions_c4.c between versions 1.2 and 1.5

version 1.2, 2010/01/27 22:22:12 version 1.5, 2010/03/04 17:42:46
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.10    RPL/2 (R) version 4.0.12
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2010 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 543  instruction_convert(struct_processus *s_ Line 543  instruction_convert(struct_processus *s_
             (((*s_objet_argument_3).type == INT) ||              (((*s_objet_argument_3).type == INT) ||
             ((*s_objet_argument_3).type == REL)))              ((*s_objet_argument_3).type == REL)))
     {      {
         longueur_chaine = strlen(ds_rplconvert_commande) - 9          if ((*s_etat_processus).rpl_home == NULL)
                 + strlen((unsigned char *) (*s_objet_argument_1).objet)  
                 + strlen((unsigned char *) (*s_objet_argument_2).objet)  
                 + (2 * strlen(d_exec_path));  
   
         if ((commande = malloc((longueur_chaine + 1) * sizeof(unsigned char)))  
                 == NULL)  
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              longueur_chaine = strlen(ds_rplconvert_commande) - 9
             return;                      + strlen((unsigned char *) (*s_objet_argument_1).objet)
                       + strlen((unsigned char *) (*s_objet_argument_2).objet)
                       + (2 * strlen(d_exec_path));
   
               if ((commande = malloc((longueur_chaine + 1) *
                       sizeof(unsigned char))) == NULL)
               {
                   (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                   return;
               }
   
               sprintf(commande, ds_rplconvert_commande, d_exec_path, d_exec_path,
                       (unsigned char *) (*s_objet_argument_2).objet,
                       (unsigned char *) (*s_objet_argument_1).objet);
         }          }
           else
           {
               longueur_chaine = strlen(ds_rplconvert_commande) - 9
                       + strlen((unsigned char *) (*s_objet_argument_1).objet)
                       + strlen((unsigned char *) (*s_objet_argument_2).objet)
                       + (2 * strlen((*s_etat_processus).rpl_home));
   
               if ((commande = malloc((longueur_chaine + 1) *
                       sizeof(unsigned char))) == NULL)
               {
                   (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                   return;
               }
   
         sprintf(commande, ds_rplconvert_commande, d_exec_path, d_exec_path,              sprintf(commande, ds_rplconvert_commande,
                 (unsigned char *) (*s_objet_argument_2).objet,                      (*s_etat_processus).rpl_home, (*s_etat_processus).rpl_home,
                 (unsigned char *) (*s_objet_argument_1).objet);                      (unsigned char *) (*s_objet_argument_2).objet,
                       (unsigned char *) (*s_objet_argument_1).objet);
           }
   
         if ((pipe = popen(commande, "r")) == NULL)          if ((pipe = popen(commande, "r")) == NULL)
         {          {

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


CVSweb interface <joel.bertrand@systella.fr>