--- rpl/src/sequenceur.c 2013/03/27 21:26:11 1.71 +++ rpl/src/sequenceur.c 2013/06/27 10:11:00 1.76 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 + RPL/2 (R) version 4.1.15 Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -64,7 +64,6 @@ sequenceur(struct_processus *s_etat_proc unsigned char *message; unsigned char *registre; unsigned char *tampon; - unsigned char tampon_retour; unsigned char *t_ligne; Keymap ancien_keymap; @@ -334,8 +333,15 @@ sequenceur(struct_processus *s_etat_proc } else { - tampon_retour = (*(*s_etat_processus) - .l_base_pile_systeme).retour_definition; + position_courante = + (*s_etat_processus).position_courante; + empilement_pile_systeme(s_etat_processus); + + if ((*s_etat_processus).erreur_systeme != d_es) + { + return(d_erreur); + } + (*(*s_etat_processus).l_base_pile_systeme) .retour_definition = 'Y'; @@ -356,17 +362,18 @@ sequenceur(struct_processus *s_etat_proc printf("+++Error : Too few arguments\n"); } - (*(*s_etat_processus).l_base_pile_systeme) - .retour_definition = tampon_retour; + depilement_pile_systeme(s_etat_processus); + + if ((*s_etat_processus).erreur_systeme != d_es) + { + return(d_erreur); + } fflush(stdout); } else if (evaluation(s_etat_processus, s_objet, 'I') == d_erreur) { - (*(*s_etat_processus).l_base_pile_systeme) - .retour_definition = tampon_retour; - if ((*s_etat_processus).erreur_systeme != d_es) { if (test_cfsf(s_etat_processus, 51) == d_faux) @@ -452,8 +459,8 @@ sequenceur(struct_processus *s_etat_proc liberation(s_etat_processus, s_objet); } - (*(*s_etat_processus).l_base_pile_systeme) - .retour_definition = tampon_retour; + (*s_etat_processus).position_courante = + position_courante; } } else if ((*s_etat_processus).invalidation_message_erreur