Diff for /rpl/src/instructions_s1.c between versions 1.13 and 1.23.2.3

version 1.13, 2010/06/24 10:10:45 version 1.23.2.3, 2011/04/13 17:43:14
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.17    RPL/2 (R) version 4.0.22
   Copyright (C) 1989-2010 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 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 2573  instruction_start(struct_processus *s_et Line 2573  instruction_start(struct_processus *s_et
     }      }
   
     empilement_pile_systeme(s_etat_processus);      empilement_pile_systeme(s_etat_processus);
   
       if ((*s_etat_processus).erreur_systeme != d_es)
       {
           return;
       }
   
     (*(*s_etat_processus).l_base_pile_systeme).type_cloture = 'S';      (*(*s_etat_processus).l_base_pile_systeme).type_cloture = 'S';
   
     if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),      if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
Line 3239  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 3289  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 3304  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.13  
changed lines
  Added in v.1.23.2.3


CVSweb interface <joel.bertrand@systella.fr>