--- rpl/src/rpl.c 2011/06/10 11:35:14 1.64 +++ rpl/src/rpl.c 2011/07/25 07:45:00 1.75 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.0.prerelease.0 + RPL/2 (R) version 4.1.2 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -46,7 +46,6 @@ rplinit(int argc, char *argv[], unsigned int erreur_historique; int option_P; - int status; logical1 core; logical1 debug; @@ -1859,6 +1858,7 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).l_base_pile_last = NULL; (*s_etat_processus).s_arbre_variables = NULL; + (*s_etat_processus).l_liste_variables_par_niveau = NULL; (*s_etat_processus).gel_liste_variables = d_faux; (*s_etat_processus).pointeur_variable_courante = NULL; (*s_etat_processus).s_liste_variables_statiques = NULL; @@ -2013,6 +2013,8 @@ rplinit(int argc, char *argv[], unsigned initialisation_allocateur(s_etat_processus); initialisation_drapeaux(s_etat_processus); + initialisation_variables(s_etat_processus); + initialisation_instructions(s_etat_processus); if ((*s_etat_processus).erreur_systeme != d_es) { @@ -2545,9 +2547,6 @@ rplinit(int argc, char *argv[], unsigned fflush(stdout); - initialisation_instructions(s_etat_processus); - initialisation_variables(s_etat_processus); - if (arguments != NULL) { tampon = (*s_etat_processus).definitions_chainees; @@ -2991,8 +2990,6 @@ rplinit(int argc, char *argv[], unsigned while((*s_etat_processus).l_base_pile_processus != NULL) { - status = 0; - l_element_courant = (void *) (*s_etat_processus).l_base_pile_processus; @@ -3216,16 +3213,9 @@ rplinit(int argc, char *argv[], unsigned * le libérer... */ -#if 0 - for(i = 0; i < (*s_etat_processus).nombre_variables; i++) - { - 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 + liberation_arbre_variables(s_etat_processus, + (*s_etat_processus).s_arbre_variables, d_vrai); + free((*s_etat_processus).pointeurs_caracteres_variables); for(i = 0; i < (*s_etat_processus) .nombre_variables_statiques; i++)