--- rpl/src/instructions_d1.c 2011/08/09 11:31:31 1.28 +++ rpl/src/instructions_d1.c 2011/09/01 12:14:56 1.29 @@ -420,8 +420,6 @@ instruction_drop2(struct_processus *s_et { struct_objet *s_objet; - logical1 erreur; - (*s_etat_processus).erreur_execution = d_ex; if ((*s_etat_processus).affichage_arguments == 'Y') @@ -488,18 +486,22 @@ instruction_drop2(struct_processus *s_et } } - if ((*s_etat_processus).hauteur_pile_operationnelle < 2) + if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), + &s_objet) == d_erreur) { (*s_etat_processus).erreur_execution = d_ex_manque_argument; return; } - erreur = depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &s_objet); liberation(s_etat_processus, s_objet); - erreur = depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &s_objet); + if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), + &s_objet) == d_erreur) + { + (*s_etat_processus).erreur_execution = d_ex_manque_argument; + return; + } + liberation(s_etat_processus, s_objet); return;