Diff for /rpl/src/rpl.c between versions 1.65 and 1.78

version 1.65, 2011/06/11 09:36:31 version 1.78, 2011/08/30 14:19:28
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.0.prerelease.0    RPL/2 (R) version 4.1.3
   Copyright (C) 1989-2011 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 46  rplinit(int argc, char *argv[], unsigned Line 46  rplinit(int argc, char *argv[], unsigned
   
     int                                 erreur_historique;      int                                 erreur_historique;
     int                                 option_P;      int                                 option_P;
     int                                 status;  
   
     logical1                            core;      logical1                            core;
     logical1                            debug;      logical1                            debug;
Line 183  rplinit(int argc, char *argv[], unsigned Line 182  rplinit(int argc, char *argv[], unsigned
         (*s_etat_processus).langue = 'E';          (*s_etat_processus).langue = 'E';
     }      }
   
       initialisation_contexte_cas(s_etat_processus);
   
     (*s_etat_processus).exception = d_ep;      (*s_etat_processus).exception = d_ep;
     (*s_etat_processus).erreur_systeme = d_es;      (*s_etat_processus).erreur_systeme = d_es;
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
Line 1857  rplinit(int argc, char *argv[], unsigned Line 1858  rplinit(int argc, char *argv[], unsigned
   
             (*s_etat_processus).l_base_pile = NULL;              (*s_etat_processus).l_base_pile = NULL;
             (*s_etat_processus).l_base_pile_last = NULL;              (*s_etat_processus).l_base_pile_last = NULL;
               (*s_etat_processus).l_base_pile_undo = NULL;
   
             (*s_etat_processus).s_arbre_variables = NULL;              (*s_etat_processus).s_arbre_variables = NULL;
             (*s_etat_processus).l_liste_variables_par_niveau = NULL;              (*s_etat_processus).l_liste_variables_par_niveau = NULL;
Line 2991  rplinit(int argc, char *argv[], unsigned Line 2993  rplinit(int argc, char *argv[], unsigned
   
                     while((*s_etat_processus).l_base_pile_processus != NULL)                      while((*s_etat_processus).l_base_pile_processus != NULL)
                     {                      {
                         status = 0;  
   
                         l_element_courant = (void *)                          l_element_courant = (void *)
                                 (*s_etat_processus).l_base_pile_processus;                                  (*s_etat_processus).l_base_pile_processus;
   
Line 3216  rplinit(int argc, char *argv[], unsigned Line 3216  rplinit(int argc, char *argv[], unsigned
                      * le libérer...                       * le libérer...
                      */                       */
   
 #if 0                      liberation_arbre_variables(s_etat_processus,
                     for(i = 0; i < (*s_etat_processus).nombre_variables; i++)                              (*s_etat_processus).s_arbre_variables, d_vrai);
                     {                      free((*s_etat_processus).pointeurs_caracteres_variables);
                         liberation(s_etat_processus,  
                                 (*s_etat_processus).s_liste_variables[i].objet);  
                         free((*s_etat_processus).s_liste_variables[i].nom);  
                     }  
   
                     free((*s_etat_processus).s_liste_variables);  
 #endif  
   
                     for(i = 0; i < (*s_etat_processus)                      for(i = 0; i < (*s_etat_processus)
                             .nombre_variables_statiques; i++)                              .nombre_variables_statiques; i++)
Line 3403  rplinit(int argc, char *argv[], unsigned Line 3396  rplinit(int argc, char *argv[], unsigned
                     }                      }
   
                     l_element_courant = (void *) (*s_etat_processus)                      l_element_courant = (void *) (*s_etat_processus)
                               .l_base_pile_undo;
                       while(l_element_courant != NULL)
                       {
                           l_element_suivant = (*((struct_liste_chainee *)
                                   l_element_courant)).suivant;
   
                           liberation(s_etat_processus,
                                   (*((struct_liste_chainee *)
                                   l_element_courant)).donnee);
                           free((struct_liste_chainee *) l_element_courant);
   
                           l_element_courant = l_element_suivant;
                       }
   
                       l_element_courant = (void *) (*s_etat_processus)
                             .l_base_pile_systeme;                              .l_base_pile_systeme;
                     while(l_element_courant != NULL)                      while(l_element_courant != NULL)
                     {                      {
Line 3626  rplinit(int argc, char *argv[], unsigned Line 3634  rplinit(int argc, char *argv[], unsigned
 #   undef return  #   undef return
 #   endif  #   endif
   
       liberation_contexte_cas(s_etat_processus);
   
     free((*s_etat_processus).chemin_fichiers_temporaires);      free((*s_etat_processus).chemin_fichiers_temporaires);
     free(s_etat_processus);      free(s_etat_processus);
   

Removed from v.1.65  
changed lines
  Added in v.1.78


CVSweb interface <joel.bertrand@systella.fr>