--- rpl/src/rpl.c 2010/04/21 13:45:50 1.18 +++ rpl/src/rpl.c 2010/04/27 15:53:36 1.19 @@ -1840,6 +1840,8 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).pile_origine_interruptions[i] = NULL; } + (*s_etat_processus).on_exit = NULL; + (*s_etat_processus).pointeurs_caracteres = NULL; (*s_etat_processus).arbre_instructions = NULL; @@ -2618,6 +2620,15 @@ rplinit(int argc, char *argv[], unsigned erreur = sequenceur_optimise(s_etat_processus); } } + + if (erreur == d_absence_erreur) + { + erreur = evaluation(s_etat_processus, + (*s_etat_processus).on_exit, 'E'); + } + + liberation(s_etat_processus, + (*s_etat_processus).on_exit); } if ((*s_etat_processus).generateur_aleatoire != NULL)