--- rpl/src/instructions_c5.c 2011/05/09 13:52:14 1.16.2.3 +++ rpl/src/instructions_c5.c 2015/11/26 11:44:34 1.58 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.24 - Copyright (C) 1989-2011 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.24 + Copyright (C) 1989-2015 Dr. BERTRAND Joël This file is part of RPL/2. @@ -48,9 +48,9 @@ instruction_col_plus(struct_processus *s struct_objet *s_objet_argument_2; struct_objet *s_objet_argument_3; - unsigned long i; - unsigned long j; - unsigned long l; + integer8 i; + integer8 j; + integer8 l; void *tampon; @@ -174,8 +174,8 @@ instruction_col_plus(struct_processus *s liberation(s_etat_processus, s_objet_argument_3); - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_verrouillee == d_vrai) + if ((*(*s_etat_processus).pointeur_variable_courante) + .variable_verrouillee == d_vrai) { liberation(s_etat_processus, s_objet_argument_1); liberation(s_etat_processus, s_objet_argument_2); @@ -184,35 +184,18 @@ instruction_col_plus(struct_processus *s return; } - if ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet == NULL) + if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) { - if (pthread_mutex_lock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (recherche_variable_partagee(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].nom, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_partagee, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].origine) == d_faux) + (*(*s_etat_processus).pointeur_variable_courante).nom, + (*(*s_etat_processus).pointeur_variable_courante) + .variable_partagee, (*(*s_etat_processus) + .pointeur_variable_courante).origine) == NULL) { (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).erreur_execution = d_ex_variable_non_definie; - if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - liberation(s_etat_processus, s_objet_argument_1); liberation(s_etat_processus, s_objet_argument_2); return; @@ -220,13 +203,12 @@ instruction_col_plus(struct_processus *s variable_partagee = d_vrai; s_objet_argument_3 = (*(*s_etat_processus) - .s_liste_variables_partagees).table[(*(*s_etat_processus) - .s_liste_variables_partagees).position_variable].objet; + .pointeur_variable_partagee_courante).objet; } else { - s_objet_argument_3 = (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet; + s_objet_argument_3 = (*(*s_etat_processus) + .pointeur_variable_courante).objet; } } else @@ -244,7 +226,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -266,7 +248,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -290,14 +272,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes * + .tableau[i] = malloc(((size_t) (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -337,14 +320,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes * + .tableau[i] = malloc(((size_t) (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -383,14 +367,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes * + .tableau[i] = malloc(((size_t) (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -431,7 +416,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -451,13 +436,13 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) (*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes + 1))) + if ((position < 1) || (position > (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -485,13 +470,14 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)).tableau[i] - = malloc((((*((struct_matrice *) (*s_copie_argument_3) - .objet)).nombre_colonnes) + 1) * sizeof(integer8))) == NULL) + = malloc((((size_t) (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * + sizeof(integer8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -505,7 +491,7 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((integer8 **) (*((struct_matrice *) (*s_copie_argument_3) .objet)).tableau)[i][j] = ((integer8 **) @@ -543,7 +529,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -564,14 +550,14 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) + if ((position < 1) || (position > (*((struct_matrice *) (*s_copie_argument_3).objet)) - .nombre_colonnes + 1))) + .nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -599,14 +585,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((((*((struct_matrice *) + .tableau[i] = malloc((((size_t) (*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -621,10 +608,10 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((real8 **) (*((struct_matrice *) (*s_copie_argument_3) - .objet)).tableau)[i][j] = ((integer8 **) + .objet)).tableau)[i][j] = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet_argument_1) .objet)).tableau)[i][0]; l = 1; @@ -639,7 +626,7 @@ instruction_col_plus(struct_processus *s ((real8 **) (*((struct_matrice *) (*s_copie_argument_3) .objet)).tableau)[i][(*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes] = - ((integer8 **) (*((struct_matrice *) + (real8) ((integer8 **) (*((struct_matrice *) (*s_objet_argument_1).objet)).tableau)[i][0]; } @@ -658,7 +645,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -679,14 +666,14 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) + if ((position < 1) || (position > (*((struct_matrice *) (*s_copie_argument_3).objet)) - .nombre_colonnes + 1))) + .nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -714,14 +701,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((((*((struct_matrice *) + .tableau[i] = malloc((((size_t) (*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -736,7 +724,7 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((real8 **) (*((struct_matrice *) (*s_copie_argument_3) .objet)).tableau)[i][j] = ((real8 **) @@ -776,7 +764,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -797,14 +785,13 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) - (*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes + 1))) + if ((position < 1) || (position > (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -832,14 +819,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((((*((struct_matrice *) + .tableau[i] = malloc((((size_t) (*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -854,11 +842,11 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((complex16 **) (*((struct_matrice *) (*s_copie_argument_3).objet)).tableau)[i][j] - .partie_reelle = ((integer8 **) + .partie_reelle = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet_argument_1) .objet)).tableau)[i][0]; ((complex16 **) (*((struct_matrice *) @@ -880,7 +868,7 @@ instruction_col_plus(struct_processus *s ((complex16 **) (*((struct_matrice *) (*s_copie_argument_3) .objet)).tableau)[i][(*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes] - .partie_reelle = ((integer8 **) + .partie_reelle = (real8) ((integer8 **) (*((struct_matrice *) (*s_objet_argument_1).objet)) .tableau)[i][0]; ((complex16 **) (*((struct_matrice *) (*s_copie_argument_3) @@ -904,7 +892,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -925,14 +913,13 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) - (*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes + 1))) + if ((position < 1) || (position > (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -960,14 +947,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((((*((struct_matrice *) + .tableau[i] = malloc((((size_t) (*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -982,7 +970,7 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((complex16 **) (*((struct_matrice *) (*s_copie_argument_3).objet)).tableau)[i][j] @@ -1032,7 +1020,7 @@ instruction_col_plus(struct_processus *s if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1053,14 +1041,13 @@ instruction_col_plus(struct_processus *s return; } - if ((position < 1) || (position > ((signed long) - (*((struct_matrice *) - (*s_copie_argument_3).objet)).nombre_colonnes + 1))) + if ((position < 1) || (position > (*((struct_matrice *) + (*s_copie_argument_3).objet)).nombre_colonnes + 1)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1088,14 +1075,15 @@ instruction_col_plus(struct_processus *s .tableau[i]; if (((*((struct_matrice *) (*s_copie_argument_3).objet)) - .tableau[i] = malloc((((*((struct_matrice *) + .tableau[i] = malloc((((size_t) (*((struct_matrice *) (*s_copie_argument_3).objet)).nombre_colonnes) + 1) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1110,7 +1098,7 @@ instruction_col_plus(struct_processus *s for(l = j = 0; j < (*((struct_matrice *) (*s_copie_argument_3) .objet)).nombre_colonnes; j++) { - if ((signed long) j == (position - 1)) + if (j == (position - 1)) { ((complex16 **) (*((struct_matrice *) (*s_copie_argument_3).objet)).tableau)[i][j] @@ -1183,21 +1171,17 @@ instruction_col_plus(struct_processus *s { if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet = + (*(*s_etat_processus).pointeur_variable_courante).objet = s_copie_argument_3; } else { - (*(*s_etat_processus).s_liste_variables_partagees).table - [(*(*s_etat_processus).s_liste_variables_partagees) - .position_variable].objet = s_copie_argument_3; - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet = - NULL; + (*(*s_etat_processus).pointeur_variable_partagee_courante).objet = + s_copie_argument_3; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1238,10 +1222,10 @@ instruction_col_moins(struct_processus * struct_objet *s_objet_argument_2; struct_objet *s_objet_resultat; - unsigned long i; - unsigned long j; - unsigned long k; - unsigned long colonne; + integer8 i; + integer8 j; + integer8 k; + integer8 colonne; void *tampon; @@ -1319,8 +1303,8 @@ instruction_col_moins(struct_processus * liberation(s_etat_processus, s_objet_argument_2); - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_verrouillee == d_vrai) + if ((*(*s_etat_processus).pointeur_variable_courante) + .variable_verrouillee == d_vrai) { liberation(s_etat_processus, s_objet_argument_1); @@ -1328,48 +1312,30 @@ instruction_col_moins(struct_processus * return; } - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet == NULL) + if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) { - if (pthread_mutex_lock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (recherche_variable_partagee(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].nom, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_partagee, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].origine) == d_faux) + (*(*s_etat_processus).pointeur_variable_courante).nom, + (*(*s_etat_processus).pointeur_variable_courante) + .variable_partagee, (*(*s_etat_processus) + .pointeur_variable_courante).origine) == NULL) { (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).erreur_execution = d_ex_variable_non_definie; - if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - liberation(s_etat_processus, s_objet_argument_1); return; } variable_partagee = d_vrai; s_objet_argument_2 = (*(*s_etat_processus) - .s_liste_variables_partagees).table[(*(*s_etat_processus) - .s_liste_variables_partagees).position_variable].objet; + .pointeur_variable_partagee_courante).objet; } else { - s_objet_argument_2 = (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet; + s_objet_argument_2 = (*(*s_etat_processus) + .pointeur_variable_courante).objet; } presence_variable = d_vrai; @@ -1385,7 +1351,7 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1404,14 +1370,13 @@ instruction_col_moins(struct_processus * { position = (*((integer8 *) (*s_objet_argument_1).objet)); - if ((position <= 0) || (position > (signed long) - (*((struct_matrice *) + if ((position <= 0) || (position > (*((struct_matrice *) (*s_copie_argument_2).objet)).nombre_colonnes)) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1437,7 +1402,7 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1454,7 +1419,7 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1480,14 +1445,15 @@ instruction_col_moins(struct_processus * (*s_objet_resultat).type = MIN; if (((*((struct_matrice *) (*s_objet_resultat).objet)) - .tableau = malloc((*((struct_matrice *) - (*s_objet_resultat).objet)).nombre_lignes * + .tableau = malloc(((size_t) (*((struct_matrice *) + (*s_objet_resultat).objet)).nombre_lignes) * sizeof(integer8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1509,8 +1475,8 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1540,16 +1506,16 @@ instruction_col_moins(struct_processus * (*s_copie_argument_2).objet)).tableau)[i]; if ((((*((struct_matrice *) (*s_copie_argument_2) - .objet)).tableau)[i] = malloc( + .objet)).tableau)[i] = malloc(((size_t) ((*((struct_matrice *) (*s_copie_argument_2) - .objet)).nombre_colonnes - 1) * + .objet)).nombre_colonnes) - 1) * sizeof(integer8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1589,14 +1555,15 @@ instruction_col_moins(struct_processus * (*s_objet_resultat).type = MRL; if (((*((struct_matrice *) (*s_objet_resultat).objet)) - .tableau = malloc((*((struct_matrice *) - (*s_objet_resultat).objet)).nombre_lignes * + .tableau = malloc(((size_t) (*((struct_matrice *) + (*s_objet_resultat).objet)).nombre_lignes) * sizeof(real8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1618,8 +1585,8 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1649,16 +1616,16 @@ instruction_col_moins(struct_processus * (*s_copie_argument_2).objet)).tableau)[i]; if ((((*((struct_matrice *) (*s_copie_argument_2) - .objet)).tableau)[i] = malloc( + .objet)).tableau)[i] = malloc(((size_t) ((*((struct_matrice *) (*s_copie_argument_2) - .objet)).nombre_colonnes - 1) * + .objet)).nombre_colonnes) - 1) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1698,15 +1665,15 @@ instruction_col_moins(struct_processus * (*s_objet_resultat).type = MCX; if (((*((struct_matrice *) (*s_objet_resultat).objet)) - .tableau = malloc((*((struct_matrice *) - (*s_objet_resultat).objet)).nombre_lignes * + .tableau = malloc(((size_t) (*((struct_matrice *) + (*s_objet_resultat).objet)).nombre_lignes) * sizeof(complex16 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1729,8 +1696,8 @@ instruction_col_moins(struct_processus * if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1767,16 +1734,16 @@ instruction_col_moins(struct_processus * (*s_copie_argument_2).objet)).tableau)[i]; if ((((*((struct_matrice *) (*s_copie_argument_2) - .objet)).tableau)[i] = malloc( + .objet)).tableau)[i] = malloc(((size_t) ((*((struct_matrice *) (*s_copie_argument_2) - .objet)).nombre_colonnes - 1) * + .objet)).nombre_colonnes) - 1) * sizeof(complex16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) - != 0) + .pointeur_variable_partagee_courante) + .mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1860,21 +1827,17 @@ instruction_col_moins(struct_processus * { if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet = + (*(*s_etat_processus).pointeur_variable_courante).objet = s_copie_argument_2; } else { - (*(*s_etat_processus).s_liste_variables_partagees).table - [(*(*s_etat_processus).s_liste_variables_partagees) - .position_variable].objet = s_copie_argument_2; - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet = - NULL; + (*(*s_etat_processus).pointeur_variable_partagee_courante).objet = + s_copie_argument_2; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return;