--- rpl/src/instructions_c5.c 2011/05/09 13:52:14 1.16.2.3 +++ rpl/src/instructions_c5.c 2011/06/22 13:26:59 1.23 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.24 + RPL/2 (R) version 4.1.0.prerelease.3 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -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,8 +184,7 @@ 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) @@ -195,12 +194,10 @@ instruction_col_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) { (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).erreur_execution = @@ -225,8 +222,8 @@ instruction_col_plus(struct_processus *s } 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 @@ -1183,8 +1180,7 @@ 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 @@ -1192,9 +1188,7 @@ instruction_col_plus(struct_processus *s (*(*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_courante).objet = NULL; if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -1319,8 +1313,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,8 +1322,7 @@ 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) @@ -1339,12 +1332,10 @@ instruction_col_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) { (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).erreur_execution = @@ -1368,8 +1359,8 @@ instruction_col_moins(struct_processus * } 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; @@ -1860,8 +1851,7 @@ 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 @@ -1869,9 +1859,7 @@ instruction_col_moins(struct_processus * (*(*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_courante).objet = NULL; if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0)