--- rpl/src/gestion_pile_systeme.c 2013/06/21 14:15:52 1.63 +++ rpl/src/gestion_pile_systeme.c 2021/03/13 12:50:39 1.88 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.15 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.33 + Copyright (C) 1989-2021 Dr. BERTRAND Joël This file is part of RPL/2. @@ -149,6 +149,8 @@ empilement_pile_systeme(struct_processus = (*s_etat_processus).creation_variables_partagees; (*(*s_etat_processus).l_base_pile_systeme).evaluation_expression = d_faux; + (*(*s_etat_processus).l_base_pile_systeme).debug_programme = + (*s_etat_processus).debug_programme; (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).creation_variables_statiques = d_faux; @@ -513,27 +515,33 @@ trace(struct_processus *s_etat_processus for(j = 0; j < nb_variables; j++) { - if (((*(tableau[j].objet)).type == RPN) || - ((*(tableau[j].objet)).type == ALG)) + if (tableau[j].objet != NULL) { - l_element_expression = (*(tableau[j].objet)).objet; - - while(l_element_expression != NULL) + // Variable ni partagée ni statique + if (((*(tableau[j].objet)).type == RPN) || + ((*(tableau[j].objet)).type == ALG)) { - if (l_element_expression == (*l_element_courant) - .pointeur_objet_retour) + l_element_expression = + (*(tableau[j].objet)).objet; + + while(l_element_expression != NULL) { - candidat = j; - break; - } + if (l_element_expression == + (*l_element_courant) + .pointeur_objet_retour) + { + candidat = j; + break; + } - l_element_expression = - (*l_element_expression).suivant; - } + l_element_expression = + (*l_element_expression).suivant; + } - if (candidat != -1) - { - break; + if (candidat != -1) + { + break; + } } } }