--- rpl/src/gestion_pile_systeme.c 2010/06/24 09:21:43 1.12 +++ rpl/src/gestion_pile_systeme.c 2010/07/13 08:59:20 1.15 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.16 + RPL/2 (R) version 4.0.17 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -301,9 +301,11 @@ effacement_pile_systeme(struct_processus void trace(struct_processus *s_etat_processus, FILE *flux) { + integer8 i; + struct_liste_pile_systeme *l_element_courant; - integer8 i; + unsigned char *tampon; l_element_courant = (*s_etat_processus).l_base_pile_systeme; i = 0; @@ -324,7 +326,7 @@ trace(struct_processus *s_etat_processus while(l_element_courant != NULL) { - fprintf(flux, "%d : D=", i--); + fprintf(flux, "%d : (%p) D=", i--, l_element_courant); fprintf(flux, ((*l_element_courant).creation_variables_statiques == d_vrai) ? "1" : "0"); @@ -395,6 +397,36 @@ trace(struct_processus *s_etat_processus fprintf(flux, "\n"); + if ((*l_element_courant).indice_boucle != NULL) + { + tampon = formateur(s_etat_processus, 0, + (*l_element_courant).indice_boucle); + fprintf(flux, " Index = %s\n", tampon); + free(tampon); + } + + if ((*l_element_courant).limite_indice_boucle != NULL) + { + tampon = formateur(s_etat_processus, 0, + (*l_element_courant).limite_indice_boucle); + fprintf(flux, " Limit = %s\n", tampon); + free(tampon); + } + + if ((*l_element_courant).objet_de_test != NULL) + { + tampon = formateur(s_etat_processus, 0, + (*l_element_courant).objet_de_test); + fprintf(flux, " Test object = %s\n", tampon); + free(tampon); + } + + if ((*l_element_courant).nom_variable != NULL) + { + fprintf(flux, " Variable name = %s\n", + (*l_element_courant).nom_variable); + } + l_element_courant = (*l_element_courant).suivant; }