--- rpl/src/instructions_s6.c 2012/01/05 10:19:04 1.32 +++ rpl/src/instructions_s6.c 2017/06/21 13:06:23 1.62 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.5 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.26 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -42,7 +42,7 @@ instruction_sdev(struct_processus *s_eta struct_objet *s_objet_resultat; struct_objet *s_objet_temporaire; - unsigned long nombre_colonnes; + integer8 nombre_colonnes; (*s_etat_processus).erreur_execution = d_ex; @@ -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) { @@ -1205,7 +1218,7 @@ instruction_scls(struct_processus *s_eta struct_objet *s_objet_statistique; - unsigned long j; + integer8 j; (*s_etat_processus).erreur_execution = d_ex;