Diff for /rpl/src/instructions_v2.c between versions 1.5 and 1.55

version 1.5, 2010/03/09 10:18:49 version 1.55, 2015/11/26 11:44:41
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.13    RPL/2 (R) version 4.1.24
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2015 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 94  instruction_volatile(struct_processus *s Line 94  instruction_volatile(struct_processus *s
             return;              return;
         }          }
   
         if (((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if (((*(*s_etat_processus).pointeur_variable_courante).origine == 'P')
                 .position_variable_courante].origine == 'P')                  ? ((*(*s_etat_processus).pointeur_variable_courante)
                 ? ((*s_etat_processus).s_liste_variables[(*s_etat_processus)                  .variable_statique.adresse == 0)
                 .position_variable_courante].variable_statique.adresse == 0)                  : ((*(*s_etat_processus).pointeur_variable_courante)
                 : ((*s_etat_processus).s_liste_variables[(*s_etat_processus)                  .variable_statique.pointeur == NULL))
                 .position_variable_courante].variable_statique.pointeur  
                 == NULL))  
         {          {
             liberation(s_etat_processus, s_objet);              liberation(s_etat_processus, s_objet);
   
Line 111  instruction_volatile(struct_processus *s Line 109  instruction_volatile(struct_processus *s
         {          {
             if (retrait_variable_statique(s_etat_processus,              if (retrait_variable_statique(s_etat_processus,
                     (*((struct_nom *) (*s_objet).objet)).nom,                      (*((struct_nom *) (*s_objet).objet)).nom,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .position_variable_courante].variable_statique)                      .variable_statique) == d_erreur)
                     == d_erreur)  
             {              {
                 liberation(s_etat_processus, s_objet);                  liberation(s_etat_processus, s_objet);
                 return;                  return;
             }              }
   
             if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)              if ((*(*s_etat_processus).pointeur_variable_courante).origine
                     .position_variable_courante].origine == 'P')                      == 'P')
             {              {
                 (*s_etat_processus).s_liste_variables[(*s_etat_processus)                  (*(*s_etat_processus).pointeur_variable_courante)
                         .position_variable_courante].variable_statique.adresse                          .variable_statique.adresse = 0;
                         = 0;  
             }              }
             else              else
             {              {
                 (*s_etat_processus).s_liste_variables[(*s_etat_processus)                  (*(*s_etat_processus).pointeur_variable_courante)
                         .position_variable_courante].variable_statique.pointeur                          .variable_statique.pointeur = NULL;
                         = NULL;  
             }              }
         }          }
     }      }
Line 159  instruction_volatile(struct_processus *s Line 154  instruction_volatile(struct_processus *s
                 return;                  return;
             }              }
   
             if (((*s_etat_processus).s_liste_variables[(*s_etat_processus)              if (((*(*s_etat_processus).pointeur_variable_courante)
                     .position_variable_courante].origine == 'P')                      .origine == 'P') ? ((*(*s_etat_processus)
                     ? ((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      .pointeur_variable_courante).variable_statique.adresse == 0)
                     .position_variable_courante].variable_statique.adresse == 0)                      : ((*(*s_etat_processus).pointeur_variable_courante)
                     : ((*s_etat_processus).s_liste_variables[(*s_etat_processus)                      .variable_statique.pointeur == NULL))
                     .position_variable_courante].variable_statique.pointeur  
                     == NULL))  
             {              {
                 liberation(s_etat_processus, s_objet);                  liberation(s_etat_processus, s_objet);
   
Line 176  instruction_volatile(struct_processus *s Line 169  instruction_volatile(struct_processus *s
             {              {
                 if (retrait_variable_statique(s_etat_processus,                  if (retrait_variable_statique(s_etat_processus,
                         (*((struct_nom *) (*s_objet).objet)).nom,                          (*((struct_nom *) (*s_objet).objet)).nom,
                         (*s_etat_processus).s_liste_variables                          (*(*s_etat_processus).pointeur_variable_courante)
                         [(*s_etat_processus).position_variable_courante]  
                         .variable_statique) == d_erreur)                          .variable_statique) == d_erreur)
                 {                  {
                     liberation(s_etat_processus, s_objet);                      liberation(s_etat_processus, s_objet);
                     return;                      return;
                 }                  }
   
                 if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)                  if ((*(*s_etat_processus).pointeur_variable_courante)
                         .position_variable_courante].origine == 'P')                          .origine == 'P')
                 {                  {
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                             .position_variable_courante].variable_statique                              .variable_statique.adresse = 0;
                             .adresse = 0;  
                 }                  }
                 else                  else
                 {                  {
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*(*s_etat_processus).pointeur_variable_courante)
                             .position_variable_courante].variable_statique                              .variable_statique.pointeur = NULL;
                             .pointeur = NULL;  
                 }                  }
             }              }
   
Line 353  instruction_verify(struct_processus *s_e Line 343  instruction_verify(struct_processus *s_e
         {          {
             if ((*(*l_element_courant).donnee).type == CHN)              if ((*(*l_element_courant).donnee).type == CHN)
             {              {
                 if ((chaine_majuscule = conversion_majuscule((unsigned char *)                  if ((chaine_majuscule = conversion_majuscule(
                           s_etat_processus, (unsigned char *)
                         (*(*l_element_courant).donnee).objet)) == NULL)                          (*(*l_element_courant).donnee).objet)) == NULL)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
Line 477  instruction_verify(struct_processus *s_e Line 468  instruction_verify(struct_processus *s_e
                             if ((*(*l_element_version).donnee).type == CHN)                              if ((*(*l_element_version).donnee).type == CHN)
                             {                              {
                                 if ((chaine_majuscule = conversion_majuscule(                                  if ((chaine_majuscule = conversion_majuscule(
                                           s_etat_processus,
                                         (unsigned char *) (*(*l_element_version)                                          (unsigned char *) (*(*l_element_version)
                                         .donnee).objet)) == NULL)                                          .donnee).objet)) == NULL)
                                 {                                  {

Removed from v.1.5  
changed lines
  Added in v.1.55


CVSweb interface <joel.bertrand@systella.fr>