--- rpl/src/instructions_s6.c 2010/03/04 10:17:53 1.4 +++ rpl/src/instructions_s6.c 2010/03/06 18:29:07 1.5 @@ -480,7 +480,7 @@ instruction_schur(struct_processus *s_et void instruction_sync(struct_processus *s_etat_processus) { - file *descripteur; + struct_descripteur_fichier *descripteur; struct_objet *s_objet_argument; @@ -532,7 +532,15 @@ instruction_sync(struct_processus *s_eta return; } - if (fflush(descripteur) != 0) + if ((*descripteur).type != 'C') + { + liberation(s_etat_processus, s_objet_argument); + + (*s_etat_processus).erreur_execution = d_ex_erreur_type_fichier; + return; + } + + if (fflush((*descripteur).descripteur_c) != 0) { liberation(s_etat_processus, s_objet_argument);