--- rpl/src/gestion_pile.c 2011/11/18 10:57:00 1.33 +++ rpl/src/gestion_pile.c 2011/11/18 20:24:40 1.34 @@ -268,12 +268,18 @@ affichage_pile(struct_processus *s_etat_ void ecriture_pile(struct_processus *s_etat_processus, file *flux, - struct_liste_chainee *l_element_courant, unsigned long niveau_courant) + struct_liste_chainee *l, unsigned long niveau_courant) { unsigned char *chaine; unsigned char *registre; unsigned char tampon[32 + 1]; + // Évite le warning : argument l_element_courant might be clobbered by + // longjmp or vfork + volatile struct_liste_chainee *l_element_courant; + + l_element_courant = l; + if (l_element_courant != NULL) { if (setjmp(contexte_ecriture) == 0) @@ -366,7 +372,7 @@ ecriture_pile(struct_processus *s_etat_p void impression_pile(struct_processus *s_etat_processus, - struct_liste_chainee *l_element_courant, unsigned char methode, + struct_liste_chainee *l, unsigned char methode, unsigned long niveau_courant) { struct_objet s_objet; @@ -375,6 +381,12 @@ impression_pile(struct_processus *s_etat unsigned char *registre; unsigned char tampon[32 + 1]; + // Évite le warning : argument l_element_courant might be clobbered by + // longjmp or vfork + volatile struct_liste_chainee *l_element_courant; + + l_element_courant = l; + if (l_element_courant != NULL) { if (setjmp(contexte_impression) == 0)