Diff for /rpl/src/instructions_o2.c between versions 1.8 and 1.9

version 1.8, 2010/04/27 15:53:36 version 1.9, 2010/04/28 06:41:06
Line 466  instruction_obget(struct_processus *s_et Line 466  instruction_obget(struct_processus *s_et
     return;      return;
 }  }
   
   
 /*  
 ================================================================================  
   Fonction 'onexit'  
 ================================================================================  
   Entrées :  
 --------------------------------------------------------------------------------  
   Sorties :  
 --------------------------------------------------------------------------------  
   Effets de bord : néant  
 ================================================================================  
 */  
   
 void  
 instruction_onexit(struct_processus *s_etat_processus)  
 {  
     struct_objet        *s_objet_argument;  
   
     (*s_etat_processus).erreur_execution = d_ex;  
   
     if ((*s_etat_processus).affichage_arguments == 'Y')  
     {  
         printf("\n  ONEXIT ");  
   
         if ((*s_etat_processus).langue == 'F')  
         {  
             printf("(exécution d'une fonction à la sortie d'une tâche)\n\n");  
         }  
         else  
         {  
             printf("(register a function to be called on task exit)\n\n");  
         }  
   
         printf("    1: %s, %s\n", d_NOM, d_RPN);  
   
         return;  
     }  
     else if ((*s_etat_processus).test_instruction == 'Y')  
     {  
         (*s_etat_processus).nombre_arguments = 1;  
         return;  
     }  
   
     if (test_cfsf(s_etat_processus, 31) == d_vrai)  
     {  
         if (empilement_pile_last(s_etat_processus, 1) == d_erreur)  
         {  
             return;  
         }  
     }  
   
     if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),  
             &s_objet_argument) == d_erreur)  
     {  
         (*s_etat_processus).erreur_execution = d_ex_manque_argument;  
         return;  
     }  
   
     if ((*s_objet_argument).type == NOM)  
     {  
         liberation(s_etat_processus, (*s_etat_processus).on_exit);  
         (*s_etat_processus).on_exit = s_objet_argument;  
     }  
     else if ((*s_objet_argument).type == RPN)  
     {  
         liberation(s_etat_processus, (*s_etat_processus).on_exit);  
         (*s_etat_processus).on_exit = s_objet_argument;  
     }  
     else  
     {  
         liberation(s_etat_processus, s_objet_argument);  
   
         (*s_etat_processus, s_objet_argument);  
         return;  
     }  
   
     return;  
 }  
   
 // vim: ts=4  // vim: ts=4

Removed from v.1.8  
changed lines
  Added in v.1.9


CVSweb interface <joel.bertrand@systella.fr>