--- rpl/src/instructions_d1.c 2010/08/26 19:07:37 1.14 +++ rpl/src/instructions_d1.c 2012/10/01 11:05:03 1.38 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.19 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.11 + Copyright (C) 1989-2012 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;