--- rpl/src/instructions_o2.c 2010/04/27 15:53:36 1.8 +++ rpl/src/instructions_o2.c 2020/01/10 11:15:47 1.68 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.15 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.32 + Copyright (C) 1989-2020 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -50,7 +50,7 @@ instruction_obsub(struct_processus *s_et unsigned char *registre_definitions_chainees; unsigned char *registre_instruction_courante; - unsigned long position_courante; + integer8 position_courante; (*s_etat_processus).erreur_execution = d_ex; @@ -301,7 +301,7 @@ instruction_obget(struct_processus *s_et struct_objet *s_objet_argument_2; struct_objet *s_objet_resultat; - unsigned long position; + integer8 position; (*s_etat_processus).erreur_execution = d_ex; @@ -371,8 +371,7 @@ instruction_obget(struct_processus *s_et while(l_element_courant != NULL) { - if (position == (unsigned long) (*((integer8 *) - (*s_objet_argument_1).objet))) + if (position == (*((integer8 *) (*s_objet_argument_1).objet))) { /* * Récupération de l'objet @@ -463,85 +462,6 @@ 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; }