--- rpl/src/instructions_s6.c 2014/01/26 18:21:33 1.48 +++ rpl/src/instructions_s6.c 2019/02/03 14:41:07 1.68 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.17 - Copyright (C) 1989-2014 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.31 + Copyright (C) 1989-2019 Dr. BERTRAND Joël This file is part of RPL/2. @@ -132,6 +132,7 @@ instruction_sdev(struct_processus *s_eta } if (((*s_objet_resultat).objet = ecart_type_statistique( + s_etat_processus, (struct_matrice *) (*s_objet_statistique).objet, 'E')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -508,6 +509,18 @@ instruction_sync(struct_processus *s_eta d_ex_erreur_acces_fichier; return; } + + if (fsync(fileno((*descripteur).descripteur_c)) != 0) + { + if ((errno != EROFS) && (errno != EINVAL)) + { + liberation(s_etat_processus, s_objet_argument); + + (*s_etat_processus).erreur_execution = + d_ex_erreur_acces_fichier; + return; + } + } } else { @@ -1065,8 +1078,8 @@ instruction_scale(struct_processus *s_et } else if ((*(*l_element_courant).donnee).type == CHN) { - tampon = conversion_majuscule((unsigned char *) - (*(*l_element_courant).donnee).objet); + tampon = conversion_majuscule(s_etat_processus, + (unsigned char *) (*(*l_element_courant).donnee).objet); if (tampon == NULL) {