version 1.19.2.3, 2011/05/09 13:52:12
|
version 1.43, 2012/12/18 13:19:35
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.24 |
RPL/2 (R) version 4.1.12 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2012 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 258 affichage_pile(struct_processus *s_etat_
|
Line 258 affichage_pile(struct_processus *s_etat_
|
registre = (*s_etat_processus).autorisation_conversion_chaine; |
registre = (*s_etat_processus).autorisation_conversion_chaine; |
(*s_etat_processus).autorisation_conversion_chaine = 'N'; |
(*s_etat_processus).autorisation_conversion_chaine = 'N'; |
|
|
|
routine_recursive = 1; |
ecriture_pile(s_etat_processus, stdout, l_element_courant, niveau_courant); |
ecriture_pile(s_etat_processus, stdout, l_element_courant, niveau_courant); |
|
routine_recursive = 0; |
|
|
(*s_etat_processus).autorisation_conversion_chaine = registre; |
(*s_etat_processus).autorisation_conversion_chaine = registre; |
return; |
return; |
Line 266 affichage_pile(struct_processus *s_etat_
|
Line 268 affichage_pile(struct_processus *s_etat_
|
|
|
void |
void |
ecriture_pile(struct_processus *s_etat_processus, file *flux, |
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 *chaine; |
unsigned char *registre; |
unsigned char *registre; |
unsigned char tampon[32 + 1]; |
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 (l_element_courant != NULL) |
{ |
{ |
if (setjmp(contexte) == 0) |
if (setjmp(contexte_ecriture) == 0) |
{ |
{ |
(*s_etat_processus).var_volatile_recursivite = -1; |
(*s_etat_processus).var_volatile_recursivite = -1; |
ecriture_pile(s_etat_processus, flux, |
ecriture_pile(s_etat_processus, flux, |
Line 364 ecriture_pile(struct_processus *s_etat_p
|
Line 372 ecriture_pile(struct_processus *s_etat_p
|
|
|
void |
void |
impression_pile(struct_processus *s_etat_processus, |
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) |
unsigned long niveau_courant) |
{ |
{ |
struct_objet s_objet; |
struct_objet s_objet; |
Line 373 impression_pile(struct_processus *s_etat
|
Line 381 impression_pile(struct_processus *s_etat
|
unsigned char *registre; |
unsigned char *registre; |
unsigned char tampon[32 + 1]; |
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 (l_element_courant != NULL) |
{ |
{ |
if (setjmp(contexte) == 0) |
if (setjmp(contexte_impression) == 0) |
{ |
{ |
(*s_etat_processus).var_volatile_recursivite = -1; |
(*s_etat_processus).var_volatile_recursivite = -1; |
impression_pile(s_etat_processus, (*l_element_courant).suivant, |
impression_pile(s_etat_processus, (*l_element_courant).suivant, |