--- rpl/src/formateur_fichiers.c 2012/05/21 17:25:41 1.42 +++ rpl/src/formateur_fichiers.c 2013/03/08 14:55:38 1.51 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.9 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.13 + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -1496,8 +1496,19 @@ formateur_fichier(struct_processus *s_et return(NULL); } - position_3 = strlen(format_chaine); - format_chaine[--position_3] = d_code_fin_chaine; + position_3 = strlen(format_chaine) - 1; + + if (format_chaine[position_3] != ')') + { + free(chaine); + free(format_chaine); + + (*s_etat_processus).erreur_execution = + d_ex_erreur_format_fichier; + return(NULL); + } + + format_chaine[position_3] = d_code_fin_chaine; position_2 = position_1; @@ -2719,9 +2730,9 @@ formateur_fichier(struct_processus *s_et * Longueur : (pour l'instruction backspace) * * 00 XXXXXX longueur sur 6 bits - * 01 XXXXXX longueur sur 16 bits - * 10 XXXXXX longueur sur 32 bits - * 11 XXXXXX longueur sur 64 bits + * 01 000000 longueur sur 16 bits + * 10 000000 longueur sur 32 bits + * 11 000000 longueur sur 64 bits * * Exemples : * [00 XXXXXX] @@ -3914,6 +3925,7 @@ formateur_fichier(struct_processus *s_et /* -------------------------------------------------------------------------------- Complexe + Poids fort 0001 10 -------------------------------------------------------------------------------- */ @@ -4018,6 +4030,7 @@ formateur_fichier(struct_processus *s_et /* -------------------------------------------------------------------------------- Entier + Poids fort 0001 00 -------------------------------------------------------------------------------- */ @@ -5211,6 +5224,7 @@ formateur_fichier(struct_processus *s_et /* -------------------------------------------------------------------------------- Réel + Poids fort 0001 01 -------------------------------------------------------------------------------- */ @@ -5831,6 +5845,7 @@ formateur_fichier_reel(struct_processus } } } + strcpy(chaine, tampon); }