--- rpl/src/rplcore.c 2010/05/24 10:58:37 1.9 +++ rpl/src/rplcore.c 2011/05/09 13:52:24 1.19.2.3 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.16 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.0.24 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -142,7 +142,30 @@ rplcore(struct_processus *s_etat_process return; } - if (fprintf(fichier, "// Error :\n%s [%s at level %lu]\n\n", + if ((*s_etat_processus).instruction_derniere_erreur != NULL) + { + if (fprintf(fichier, "// Error :\n%s [level %lu]\n\n", + message_erreur, (*s_etat_processus).niveau_derniere_erreur) < 0) + { + free(message_erreur); + + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + return; + } + } + else if ((*s_etat_processus).instruction_derniere_erreur[0] == + d_code_fin_chaine) + { + if (fprintf(fichier, "// Error :\n%s [level %lu]\n\n", + message_erreur, (*s_etat_processus).niveau_derniere_erreur) < 0) + { + free(message_erreur); + + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + return; + } + } + else if (fprintf(fichier, "// Error :\n%s [%s at level %lu]\n\n", message_erreur, (*s_etat_processus).instruction_derniere_erreur, (*s_etat_processus).niveau_derniere_erreur) < 0) { @@ -154,6 +177,14 @@ rplcore(struct_processus *s_etat_process free(message_erreur); + if (fprintf(fichier, "// System stack\n\n") < 0) + { + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + return; + } + + trace(s_etat_processus, fichier); + if (fprintf(fichier, "// Process stack\n\n") < 0) { (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;