--- rpl/src/instructions_e2.c 2011/04/21 16:00:56 1.20 +++ rpl/src/instructions_e2.c 2011/06/09 14:48:36 1.21 @@ -1302,8 +1302,7 @@ instruction_exit(struct_processus *s_eta { instruction_majuscule = conversion_majuscule(""); - if ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + if ((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL) { if (pthread_mutex_lock(&((*(*s_etat_processus) @@ -1315,18 +1314,15 @@ instruction_exit(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_vrai) - { - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet).type + (*(*s_etat_processus) + .pointeur_variable_courante).nom, + (*(*s_etat_processus) + .pointeur_variable_courante).variable_partagee, + (*(*s_etat_processus) + .pointeur_variable_courante).origine) == d_vrai) + { + if ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet).type == ADR) { empilement_pile_systeme(s_etat_processus); @@ -1358,9 +1354,8 @@ instruction_exit(struct_processus *s_eta (*s_etat_processus).position_courante = (*((unsigned long *) - ((*((*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) + ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet) .objet))); (*s_etat_processus) @@ -1383,10 +1378,8 @@ instruction_exit(struct_processus *s_eta } else { - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet).type - == ADR) + if ((*(*(*s_etat_processus).pointeur_variable_courante) + .objet).type == ADR) { empilement_pile_systeme(s_etat_processus); @@ -1406,9 +1399,9 @@ instruction_exit(struct_processus *s_eta (*s_etat_processus).niveau_courant; (*s_etat_processus).position_courante = - (*((unsigned long *) ((*((*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) + (*((unsigned long *) + ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet) .objet))); (*s_etat_processus) @@ -1530,8 +1523,7 @@ instruction_exit(struct_processus *s_eta { instruction_majuscule = conversion_majuscule(""); - if ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + if ((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL) { if (pthread_mutex_lock(&((*(*s_etat_processus) @@ -1543,18 +1535,15 @@ instruction_exit(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_vrai) - { - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet).type + (*(*s_etat_processus) + .pointeur_variable_courante).nom, + (*(*s_etat_processus) + .pointeur_variable_courante).variable_partagee, + (*(*s_etat_processus) + .pointeur_variable_courante).origine) == d_vrai) + { + if ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet).type == ADR) { empilement_pile_systeme(s_etat_processus); @@ -1586,9 +1575,8 @@ instruction_exit(struct_processus *s_eta (*s_etat_processus).position_courante = (*((unsigned long *) - ((*((*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) + ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet) .objet))); (*s_etat_processus) @@ -1611,10 +1599,8 @@ instruction_exit(struct_processus *s_eta } else { - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet).type - == ADR) + if ((*(*(*s_etat_processus).pointeur_variable_courante) + .objet).type == ADR) { empilement_pile_systeme(s_etat_processus); @@ -1634,9 +1620,9 @@ instruction_exit(struct_processus *s_eta (*s_etat_processus).niveau_courant; (*s_etat_processus).position_courante = - (*((unsigned long *) ((*((*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet)) + (*((unsigned long *) + ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet) .objet))); (*s_etat_processus)