--- rpl/src/instructions_e2.c 2013/02/28 12:41:27 1.46 +++ rpl/src/instructions_e2.c 2014/04/25 07:37:31 1.55 @@ -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.18 + Copyright (C) 1989-2014 Dr. BERTRAND Joël This file is part of RPL/2. @@ -623,9 +623,9 @@ instruction_errm(struct_processus *s_eta { struct_objet *s_objet_resultat; - unsigned int registre_erreur_execution; - unsigned int registre_erreur_systeme; - unsigned int registre_exception; + int registre_erreur_execution; + int registre_erreur_systeme; + int registre_exception; (*s_etat_processus).erreur_execution = d_ex; @@ -1018,7 +1018,7 @@ instruction_externals(struct_processus * { logical1 ambiguite; - unsigned long i; + integer8 i; struct_liste_chainee *l_element_courant; @@ -1187,7 +1187,7 @@ instruction_exit(struct_processus *s_eta unsigned char *instruction_majuscule; unsigned char *tampon; - unsigned long niveau; + integer8 niveau; void (*fonction)(); @@ -1338,7 +1338,7 @@ instruction_exit(struct_processus *s_eta { if ((strcmp(instruction_majuscule, "FOR") == 0) || (strcmp(instruction_majuscule, "FORALL") == 0) - || (strcmp(instruction_majuscule, "START") + || (strcmp(instruction_majuscule, "START") == 0)) { niveau++; @@ -1829,8 +1829,9 @@ instruction_exit(struct_processus *s_eta if ((drapeau_boucle_definie == d_vrai) && (drapeau_presence_fin_boucle == d_vrai)) { - presence_compteur = ((*(*s_etat_processus).l_base_pile_systeme) - .type_cloture == 'F') ? d_vrai : d_faux; + presence_compteur = (((*(*s_etat_processus).l_base_pile_systeme) + .type_cloture == 'F') || ((*(*s_etat_processus) + .l_base_pile_systeme).type_cloture == 'A')) ? d_vrai : d_faux; if (((*(*s_etat_processus).l_base_pile_systeme).type_cloture != 'S') && (presence_compteur == d_faux))