--- rpl/src/instructions_s9.c 2010/07/24 16:39:44 1.14 +++ rpl/src/instructions_s9.c 2010/07/24 18:01:12 1.15 @@ -792,10 +792,18 @@ instruction_save(struct_processus *s_eta i--; } - (*s_etat_processus).position_variable_courante = i; + if (presence_variable == d_vrai) + { + (*s_etat_processus).position_variable_courante = i; + } + else + { + (*s_etat_processus).position_variable_courante = 0; + } - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].niveau == 1) + if (((*s_etat_processus).s_liste_variables[(*s_etat_processus) + .position_variable_courante].niveau == 1) && + (presence_variable == d_vrai)) { // On a trouvé une variable globale correspondant au nom et // que l'on modifie.