--- rpl/src/analyse_notation_rpn.c 2010/02/10 10:14:18 1.3 +++ rpl/src/analyse_notation_rpn.c 2010/02/26 19:22:05 1.4 @@ -36,9 +36,9 @@ */ struct_liste_chainee * -analyse_rpn(struct_processus *s_etat_processus, - unsigned char *chaine_rpn) +analyse_rpn(struct_processus *s_etat_processus, unsigned char *chaine_rpn) { + struct_liste_chainee *l_ancienne_base_pile; struct_liste_chainee *l_base_liste; struct_liste_chainee *l_element_courant; struct_liste_chainee *l_element_precedent; @@ -67,6 +67,7 @@ analyse_rpn(struct_processus *s_etat_pro (*s_etat_processus).definitions_chainees = chaine_rpn; (*s_etat_processus).autorisation_empilement_programme = 'N'; + l_ancienne_base_pile = (*s_etat_processus).l_base_pile; nombre_termes = 0; while((*s_etat_processus).definitions_chainees @@ -82,7 +83,7 @@ analyse_rpn(struct_processus *s_etat_pro if ((*s_etat_processus).erreur_execution != d_ex) { - for(i = 0; i < nombre_termes; i++) + while((*s_etat_processus).l_base_pile != l_ancienne_base_pile) { if (depilement(s_etat_processus, &((*s_etat_processus) .l_base_pile), &s_objet) == d_erreur)