--- rpl/src/instructions_s3.c 2011/04/21 16:00:59 1.18 +++ rpl/src/instructions_s3.c 2011/06/10 11:35:13 1.19 @@ -436,8 +436,8 @@ instruction_sto_plus(struct_processus *s return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -456,8 +456,7 @@ instruction_sto_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) @@ -467,12 +466,10 @@ instruction_sto_plus(struct_processus *s } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -536,8 +533,7 @@ instruction_sto_plus(struct_processus *s else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -671,12 +667,11 @@ instruction_sto_plus(struct_processus *s else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -728,8 +723,8 @@ instruction_sto_plus(struct_processus *s return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -748,8 +743,7 @@ instruction_sto_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) @@ -759,12 +753,10 @@ instruction_sto_plus(struct_processus *s } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -828,8 +820,7 @@ instruction_sto_plus(struct_processus *s else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -963,12 +954,11 @@ instruction_sto_plus(struct_processus *s else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -1177,8 +1167,8 @@ instruction_sto_moins(struct_processus * return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -1197,8 +1187,7 @@ instruction_sto_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) @@ -1208,12 +1197,10 @@ instruction_sto_moins(struct_processus * } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -1277,8 +1264,7 @@ instruction_sto_moins(struct_processus * else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1412,12 +1398,11 @@ instruction_sto_moins(struct_processus * else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante) + .objet)) == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -1469,8 +1454,8 @@ instruction_sto_moins(struct_processus * return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -1489,8 +1474,7 @@ instruction_sto_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) @@ -1500,12 +1484,10 @@ instruction_sto_moins(struct_processus * } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -1569,8 +1551,7 @@ instruction_sto_moins(struct_processus * else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1704,12 +1685,11 @@ instruction_sto_moins(struct_processus * else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante) + .objet)) == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -1918,8 +1898,8 @@ instruction_sto_fois(struct_processus *s return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -1938,8 +1918,7 @@ instruction_sto_fois(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) @@ -1949,12 +1928,10 @@ instruction_sto_fois(struct_processus *s } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -2018,8 +1995,7 @@ instruction_sto_fois(struct_processus *s else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2153,12 +2129,11 @@ instruction_sto_fois(struct_processus *s else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -2210,8 +2185,8 @@ instruction_sto_fois(struct_processus *s return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -2230,8 +2205,7 @@ instruction_sto_fois(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) @@ -2241,12 +2215,10 @@ instruction_sto_fois(struct_processus *s } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -2310,8 +2282,7 @@ instruction_sto_fois(struct_processus *s else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2445,12 +2416,11 @@ instruction_sto_fois(struct_processus *s else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -2659,8 +2629,8 @@ instruction_sto_division(struct_processu return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -2679,8 +2649,7 @@ instruction_sto_division(struct_processu 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) @@ -2690,12 +2659,10 @@ instruction_sto_division(struct_processu } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -2759,8 +2726,7 @@ instruction_sto_division(struct_processu else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2894,12 +2860,11 @@ instruction_sto_division(struct_processu else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -2951,8 +2916,8 @@ instruction_sto_division(struct_processu return; } - 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_1); liberation(s_etat_processus, s_objet_2); @@ -2971,8 +2936,7 @@ instruction_sto_division(struct_processu 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) @@ -2982,12 +2946,10 @@ instruction_sto_division(struct_processu } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -3051,8 +3013,7 @@ instruction_sto_division(struct_processu else { if ((s_objet_3 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -3186,12 +3147,11 @@ instruction_sto_division(struct_processu else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -3362,8 +3322,8 @@ instruction_sneg(struct_processus *s_eta return; } - 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_1); @@ -3381,8 +3341,7 @@ instruction_sneg(struct_processus *s_eta 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) @@ -3392,12 +3351,10 @@ instruction_sneg(struct_processus *s_eta } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -3459,8 +3416,7 @@ instruction_sneg(struct_processus *s_eta else { if ((s_objet_2 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -3576,12 +3532,11 @@ instruction_sneg(struct_processus *s_eta else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -3750,8 +3705,8 @@ instruction_sinv(struct_processus *s_eta return; } - 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_1); @@ -3769,8 +3724,7 @@ instruction_sinv(struct_processus *s_eta 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) @@ -3780,12 +3734,10 @@ instruction_sinv(struct_processus *s_eta } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -3847,8 +3799,7 @@ instruction_sinv(struct_processus *s_eta else { if ((s_objet_2 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -3964,12 +3915,11 @@ instruction_sinv(struct_processus *s_eta else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1); @@ -4138,8 +4088,8 @@ instruction_sconj(struct_processus *s_et return; } - 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_1); @@ -4157,8 +4107,7 @@ instruction_sconj(struct_processus *s_et 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) @@ -4168,12 +4117,10 @@ instruction_sconj(struct_processus *s_et } 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) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -4235,8 +4182,7 @@ instruction_sconj(struct_processus *s_et else { if ((s_objet_2 = copie_objet(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet, + (*(*s_etat_processus).pointeur_variable_courante).objet, 'P')) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -4352,12 +4298,11 @@ instruction_sconj(struct_processus *s_et else { liberation(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet); + (*(*s_etat_processus).pointeur_variable_courante).objet); if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), - &((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) == d_erreur) + &((*(*s_etat_processus).pointeur_variable_courante).objet)) + == d_erreur) { liberation(s_etat_processus, s_objet_1);