--- rpl/src/instructions_s1.c 2019/01/28 15:34:25 1.94 +++ rpl/src/instructions_s1.c 2019/02/06 14:23:26 1.97 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.30 + RPL/2 (R) version 4.1.31 Copyright (C) 1989-2019 Dr. BERTRAND Joël This file is part of RPL/2. @@ -3415,8 +3415,8 @@ instruction_syseval(struct_processus *s_ unsigned char *tampon; integer8 longueur_lecture; + integer8 longueur_lue; integer8 longueur_tampon; - integer8 nombre_iterations; integer8 nombre_lignes; integer8 pointeur; integer8 registre_position_courante; @@ -3688,7 +3688,6 @@ instruction_syseval(struct_processus *s_ fflush(NULL); - verrouillage_threads_concurrents(s_etat_processus); pid = fork(); if (pid < 0) @@ -3821,8 +3820,6 @@ instruction_syseval(struct_processus *s_ } else { - deverrouillage_threads_concurrents(s_etat_processus); - if (close(pipes_entree[0]) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -3968,8 +3965,8 @@ instruction_syseval(struct_processus *s_ } longueur_lecture = 65536; + longueur_lue = 0; pointeur = 0; - nombre_iterations = 1; if ((tampon = malloc(((size_t) (longueur_lecture + 1)) * sizeof(unsigned char))) == NULL) @@ -4004,12 +4001,12 @@ instruction_syseval(struct_processus *s_ return; } + longueur_lue += ios; tampon[pointeur + ios] = d_code_fin_chaine; pointeur += ios; - nombre_iterations++; if ((tampon = realloc(tampon, - ((size_t) ((nombre_iterations * longueur_lecture) + 1)) + ((size_t) ((longueur_lue + longueur_lecture) + 1)) * sizeof(unsigned char))) == NULL) { (*s_etat_processus).erreur_systeme =