Diff for /rpl/src/instructions_e2.c between versions 1.4 and 1.5

version 1.4, 2010/02/10 10:14:22 version 1.5, 2010/02/26 19:22:05
Line 725  instruction_edit(struct_processus *s_eta Line 725  instruction_edit(struct_processus *s_eta
   
     file                    *fichier;      file                    *fichier;
   
     logical1                drapeau;  
     logical1                drapeau49;      logical1                drapeau49;
     logical1                drapeau50;      logical1                drapeau50;
   
Line 887  instruction_edit(struct_processus *s_eta Line 886  instruction_edit(struct_processus *s_eta
         return;          return;
     }      }
   
     do      if ((commande = malloc((strlen(ds_vim_commande) + strlen(nom_fichier)
               - 1) * sizeof(unsigned char))) == NULL)
     {      {
         if ((commande = malloc((strlen(ds_vim_commande) + strlen(nom_fichier)          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                 - 1) * sizeof(unsigned char))) == NULL)          return;
         {      }
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;  
             return;  
         }  
   
         sprintf(commande, ds_vim_commande, nom_fichier);      sprintf(commande, ds_vim_commande, nom_fichier);
   
         if (system(commande) != 0)      if (system(commande) != 0)
         {      {
             free(commande);          free(commande);
   
             (*s_etat_processus).erreur_systeme = d_es_processus;          (*s_etat_processus).erreur_systeme = d_es_processus;
             return;          return;
         }      }
   
         free(commande);      free(commande);
   
         if ((s_objet_nom = allocation(s_etat_processus, CHN)) == NULL)      if ((s_objet_nom = allocation(s_etat_processus, CHN)) == NULL)
         {      {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;          return;
         }      }
   
         if (((*s_objet_nom).objet = malloc((strlen(nom_fichier) + 1)      if (((*s_objet_nom).objet = malloc((strlen(nom_fichier) + 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;
             return;          return;
         }      }
   
         strcpy((unsigned char *) (*s_objet_nom).objet, nom_fichier);      strcpy((unsigned char *) (*s_objet_nom).objet, nom_fichier);
   
         if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),      if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                 s_objet_nom) == d_erreur)              s_objet_nom) == d_erreur)
         {      {
             return;          return;
         }      }
   
         registre_pile_last = (*s_etat_processus).l_base_pile_last;      registre_pile_last = (*s_etat_processus).l_base_pile_last;
         (*s_etat_processus).l_base_pile_last = NULL;      (*s_etat_processus).l_base_pile_last = NULL;
   
         instruction_recall(s_etat_processus);      instruction_recall(s_etat_processus);
   
         // Destruction du fichier temporaire      if (empilement_pile_last(s_etat_processus, 0) == d_erreur)
       {
           return;
       }
   
         if (destruction_fichier(nom_fichier) == d_erreur)      (*s_etat_processus).l_base_pile_last = registre_pile_last;
         {  
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;  
             return;  
         }  
   
         free(nom_fichier);      // Destruction du fichier temporaire
   
         if (((*s_etat_processus).erreur_systeme != d_es) ||      if (destruction_fichier(nom_fichier) == d_erreur)
                 ((*s_etat_processus).erreur_execution != d_ex) ||      {
                 ((*s_etat_processus).exception != d_ep))          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         {          return;
             if (empilement_pile_last(s_etat_processus, 0) == d_erreur)      }
             {  
                 return;  
             }  
   
             (*s_etat_processus).l_base_pile_last = registre_pile_last;      free(nom_fichier);
             liberation(s_etat_processus, s_objet);  
   
             return;      if (((*s_etat_processus).erreur_systeme != d_es) ||
         }              ((*s_etat_processus).erreur_execution != d_ex) ||
               ((*s_etat_processus).exception != d_ep))
       {
           liberation(s_etat_processus, s_objet);
   
         if ((*s_etat_processus).erreur_systeme != d_es)          return;
         {      }
             return;  
         }  
   
         if ((*s_etat_processus).erreur_execution == d_ex_fichier_vide)      if ((*s_etat_processus).erreur_systeme != d_es)
         {      {
             if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),          return;
                     s_objet) == d_erreur)      }
             {  
                 return;  
             }  
   
             (*s_etat_processus).erreur_execution = d_ex;      if ((*s_etat_processus).erreur_execution == d_ex_fichier_vide)
             drapeau = d_faux;      {
         }          if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
         else                  s_objet) == d_erreur)
         {          {
             drapeau = d_vrai;              return;
         }          }
     } while((*s_etat_processus).erreur_execution != d_ex);  
   
     if (drapeau == d_vrai)          (*s_etat_processus).erreur_execution = d_ex;
       }
       else
     {      {
         liberation(s_etat_processus, s_objet);          liberation(s_etat_processus, s_objet);
     }      }

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


CVSweb interface <joel.bertrand@systella.fr>