--- rpl/src/gestion_pile_systeme.c 2013/03/23 17:57:39 1.58 +++ rpl/src/gestion_pile_systeme.c 2017/08/03 17:17:43 1.80 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.28 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -492,8 +492,8 @@ trace(struct_processus *s_etat_processus } } - fprintf(flux, " Level = %d\n", - (*l_element_courant).niveau_courant); + fprintf(flux, " Level = %lld\n", + (long long int) (*l_element_courant).niveau_courant); if ((*l_element_courant).retour_definition == 'Y') { @@ -513,27 +513,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; + } } } } @@ -617,12 +623,16 @@ trace(struct_processus *s_etat_processus "unknown definition\n"); } } - else + else if ((*l_element_courant).niveau_courant == 0) { fprintf(flux, "\n"); fprintf(flux, " = RPL/2 " "initialization\n"); } + else + { + fprintf(flux, "\n"); + } } } else