--- rpl/src/instructions_c4.c 2024/01/17 16:57:12 1.85 +++ rpl/src/instructions_c4.c 2024/10/28 14:56:58 1.86 @@ -780,15 +780,6 @@ instruction_close(struct_processus *s_et * Fermeture du fichier */ - if (fclose((*descripteur).descripteur_c) != 0) - { - free(descripteur); - liberation(s_etat_processus, s_objet_argument); - - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - if ((*descripteur).type != 'C') { if (sqlite3_prepare_v2((*descripteur).descripteur_sqlite, @@ -830,6 +821,17 @@ instruction_close(struct_processus *s_et free(descripteur); } + else + { + if (fclose((*descripteur).descripteur_c) != 0) + { + free(descripteur); + liberation(s_etat_processus, s_objet_argument); + + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; + return; + } + } if ((*((struct_fichier *) (*s_objet_argument).objet)).ouverture == 'S') {