Diff for /rpl/src/instructions_s1.c between versions 1.23 and 1.23.2.5

version 1.23, 2011/03/06 16:44:13 version 1.23.2.5, 2011/05/09 13:52:20
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.21    RPL/2 (R) version 4.0.24
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 3245  instruction_sto(struct_processus *s_etat Line 3245  instruction_sto(struct_processus *s_etat
                     return;                      return;
                 }                  }
   
                   if ((*s_etat_processus).autorisation_nom_implicite == 'N')
                   {
                       liberation(s_etat_processus, s_objet_1);
                       liberation(s_etat_processus, s_objet_2);
   
                       (*s_etat_processus).erreur_systeme = d_es;
                       (*s_etat_processus).erreur_execution =
                               d_ex_creation_variable_globale;
                       return;
                   }
   
                 if ((s_variable.nom = malloc((strlen((*((struct_nom *)                  if ((s_variable.nom = malloc((strlen((*((struct_nom *)
                         (*s_objet_1).objet)).nom) + 1) *                          (*s_objet_1).objet)).nom) + 1) *
                         sizeof(unsigned char))) == NULL)                          sizeof(unsigned char))) == NULL)
Line 3295  instruction_sto(struct_processus *s_etat Line 3306  instruction_sto(struct_processus *s_etat
         }          }
         else          else
         {          {
               if ((*s_etat_processus).autorisation_nom_implicite == 'N')
               {
                   if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)
                           .position_variable_courante].niveau == 1)
                   {
                       liberation(s_etat_processus, s_objet_1);
                       liberation(s_etat_processus, s_objet_2);
   
                       (*s_etat_processus).erreur_execution =
                               d_ex_creation_variable_globale;
                       return;
                   }
               }
   
             liberation(s_etat_processus,              liberation(s_etat_processus,
                     (*s_etat_processus).s_liste_variables[(*s_etat_processus)                      (*s_etat_processus).s_liste_variables[(*s_etat_processus)
                     .position_variable_courante].objet);                      .position_variable_courante].objet);
Line 3310  instruction_sto(struct_processus *s_etat Line 3335  instruction_sto(struct_processus *s_etat
          * une variable globale.           * une variable globale.
          */           */
   
           if ((*s_etat_processus).autorisation_nom_implicite == 'N')
           {
               liberation(s_etat_processus, s_objet_1);
               liberation(s_etat_processus, s_objet_2);
   
               (*s_etat_processus).erreur_systeme = d_es;
               (*s_etat_processus).erreur_execution =
                       d_ex_creation_variable_globale;
               return;
           }
   
         if ((s_variable.nom = malloc((strlen((*((struct_nom *)          if ((s_variable.nom = malloc((strlen((*((struct_nom *)
                 (*s_objet_1).objet)).nom) + 1) * sizeof(unsigned char)))                  (*s_objet_1).objet)).nom) + 1) * sizeof(unsigned char)))
                 == NULL)                  == NULL)

Removed from v.1.23  
changed lines
  Added in v.1.23.2.5


CVSweb interface <joel.bertrand@systella.fr>