Diff for /rpl/src/gestion_niveaux.c between versions 1.5 and 1.45

version 1.5, 2010/03/09 10:18:44 version 1.45, 2013/03/26 11:05:28
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.13    RPL/2 (R) version 4.1.13
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2013 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 76  instruction_vers_niveau_superieur(struct Line 76  instruction_vers_niveau_superieur(struct
     {      {
         if ((*s_etat_processus).langue == 'F')          if ((*s_etat_processus).langue == 'F')
         {          {
             printf("[%d] Initialisation du niveau %lu\n", (int) getpid(),              printf("[%d] Initialisation du niveau %lld\n", (int) getpid(),
                     (*s_etat_processus).niveau_courant);                      (*s_etat_processus).niveau_courant);
         }          }
         else          else
         {          {
             printf("[%d] Initialization of level %lu\n", (int) getpid(),              printf("[%d] Initialization of level %lld\n", (int) getpid(),
                     (*s_etat_processus).niveau_courant);                      (*s_etat_processus).niveau_courant);
         }          }
   
Line 126  instruction_vers_niveau_inferieur(struct Line 126  instruction_vers_niveau_inferieur(struct
     {      {
         if ((*s_etat_processus).langue == 'F')          if ((*s_etat_processus).langue == 'F')
         {          {
             printf("[%d] Fermeture du niveau %lu\n", (int) getpid(),              printf("[%d] Fermeture du niveau %lld\n", (int) getpid(),
                     (*s_etat_processus).niveau_courant);                      (*s_etat_processus).niveau_courant);
         }          }
         else          else
         {          {
             printf("[%d] Closing of level %lu\n", (int) getpid(),              printf("[%d] Closing of level %lld\n", (int) getpid(),
                     (*s_etat_processus).niveau_courant);                      (*s_etat_processus).niveau_courant);
         }          }
   
Line 168  instruction_vers_niveau_inferieur(struct Line 168  instruction_vers_niveau_inferieur(struct
                 if ((*s_etat_processus).langue == 'F')                  if ((*s_etat_processus).langue == 'F')
                 {                  {
                     printf("[%d] Retour récursif de niveau "                      printf("[%d] Retour récursif de niveau "
                             "%lu\n", (int) getpid(), (*s_etat_processus)                              "%lld\n", (int) getpid(), (*s_etat_processus)
                             .niveau_recursivite);                              .niveau_recursivite);
                 }                  }
                 else                  else
                 {                  {
                     printf("[%d] Level %lu recursive "                      printf("[%d] Level %lld recursive "
                             "return\n", (int) getpid(), (*s_etat_processus)                              "return\n", (int) getpid(), (*s_etat_processus)
                             .niveau_recursivite);                              .niveau_recursivite);
                 }                  }
Line 216  instruction_vers_niveau_inferieur(struct Line 216  instruction_vers_niveau_inferieur(struct
      */       */
   
     if (((*s_etat_processus).niveau_recursivite == 0) && ((*s_etat_processus)      if (((*s_etat_processus).niveau_recursivite == 0) && ((*s_etat_processus)
             .s_liste_variables != NULL) && ((*s_etat_processus)  
             .gel_liste_variables == d_faux))              .gel_liste_variables == d_faux))
     {      {
         if (retrait_variable_par_niveau(s_etat_processus) == d_erreur)          // Si une routine ATEXIT est enregistrée, on ne détruit pas les
           // variables globales pour qu'elles puissent être utilisées depuis
           // la routine ATEXIT.
   
           if (!(((*s_etat_processus).at_exit != NULL) &&
                   ((*s_etat_processus).niveau_courant == 0)))
         {          {
             return;              if (retrait_variables_par_niveau(s_etat_processus) == d_erreur)
               {
                   return;
               }
         }          }
     }      }
   

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


CVSweb interface <joel.bertrand@systella.fr>