--- rpl/src/instructions_a4.c 2010/03/04 10:17:49 1.4 +++ rpl/src/instructions_a4.c 2010/03/06 18:29:06 1.5 @@ -556,7 +556,7 @@ instruction_asr(struct_processus *s_etat void instruction_append(struct_processus *s_etat_processus) { - file *descripteur; + struct_descripteur_fichier *descripteur; struct_objet *s_objet_argument; @@ -609,11 +609,21 @@ instruction_append(struct_processus *s_e return; } - if (fseek(descripteur, (long) 0, SEEK_END) != 0) + if ((*descripteur).type == 'C') + { + if (fseek((*descripteur).descripteur_c, (long) 0, SEEK_END) != 0) + { + liberation(s_etat_processus, s_objet_argument); + + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + return; + } + } + else { liberation(s_etat_processus, s_objet_argument); - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + (*s_etat_processus).erreur_execution = d_ex_erreur_type_fichier; return; } }