--- rpl/src/controle.c 2010/08/10 18:02:43 1.11 +++ rpl/src/controle.c 2010/08/13 21:00:36 1.12 @@ -73,12 +73,15 @@ controle(struct_processus *s_etat_proces } sprintf(tampon, "%s.exe", fichier); - free(fichier); fichier = tampon; # endif if (stat(fichier, &stat_buf) != 0) { +# ifdef OS2 + free(fichier); +# endif + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return(d_faux); } @@ -87,18 +90,30 @@ controle(struct_processus *s_etat_proces if ((chaine = malloc(taille_fichier)) == NULL) { +# ifdef OS2 + free(fichier); +# endif + (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return(d_faux); } if ((in_fd = open(fichier, 0, O_RDONLY)) < 0) { +# ifdef OS2 + free(fichier); +# endif + free(chaine); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return(d_faux); } +# ifdef OS2 + free(fichier); +# endif + if ((octets_lus = read(in_fd, chaine, taille_fichier)) != taille_fichier) { # ifndef OS2