--- rpl/src/types.c 2017/06/29 14:54:42 1.85 +++ rpl/src/types.c 2017/08/03 17:17:51 1.90 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.27 + RPL/2 (R) version 4.1.28 Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -56,8 +56,7 @@ recherche_type(struct_processus *s_etat_ integer8 profondeur_initiale; integer8 sauvegarde_niveau_courant; integer8 sauvegarde_longueur_definitions_chainees; - integer8 (*__type_new)(struct_processus - *s_etat_processus, void **arg); + integer8 (*__type_new)(struct_processus *, void **); struct_liste_chainee *l_base_liste_fonctions; struct_liste_chainee *l_base_liste_decomposition; @@ -119,7 +118,6 @@ recherche_type(struct_processus *s_etat_ (*s_etat_processus).test_instruction = 'Y'; (*s_etat_processus).traitement_interruptible = 'N'; -uprintf(".%s.\n", (*s_etat_processus).instruction_courante); analyse(s_etat_processus, NULL); (*s_etat_processus).test_instruction = registre_test; @@ -284,6 +282,9 @@ uprintf(".%s.\n", (*s_etat_processus).in (*s_objet).objet = element; (*s_objet).type = EXT; + (*s_objet).descripteur_bibliotheque = + (*((struct_bibliotheque *) + (*l_element_courant).donnee)).descripteur; if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile), s_objet) @@ -3541,20 +3542,23 @@ uprintf(".%s.\n", (*s_etat_processus).in while((*ptr) != d_code_fin_chaine) { - if ((isalnum((*ptr)) == 0) && - ((*ptr) != '_') && - ((*ptr) != '$')) + if (isalnum(*ptr) != 0) + { + ptr++; + } + else if (((*ptr) == '_') || ((*ptr == '$'))) + { + ptr++; + } + else { liberation(s_etat_processus, s_objet); (*s_etat_processus).erreur_execution = d_ex_syntaxe; (*s_etat_processus).traitement_interruptible = registre_interruption; - return; } - - ptr++; } (*s_objet).type = NOM;