--- rpl/src/instructions_d1.c 2011/03/06 16:44:10 1.17 +++ rpl/src/instructions_d1.c 2011/11/26 10:01:28 1.31 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.21 + RPL/2 (R) version 4.1.5 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -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;