--- rpl/src/sequenceur.c 2013/04/18 15:33:32 1.73 +++ rpl/src/sequenceur.c 2013/04/18 21:38:04 1.74 @@ -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,13 @@ sequenceur(struct_processus *s_etat_proc } else { - tampon_retour = (*(*s_etat_processus) - .l_base_pile_systeme).retour_definition; + 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 +360,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) @@ -451,9 +456,6 @@ sequenceur(struct_processus *s_etat_proc { liberation(s_etat_processus, s_objet); } - - (*(*s_etat_processus).l_base_pile_systeme) - .retour_definition = tampon_retour; } } else if ((*s_etat_processus).invalidation_message_erreur