--- rpl/src/instructions_r6.c 2010/04/21 13:45:49 1.9 +++ rpl/src/instructions_r6.c 2011/09/20 08:56:23 1.32 @@ -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.3 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -265,35 +265,20 @@ instruction_recv(struct_processus *s_eta } } -# ifndef SEMAPHORES_NOMMES if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } -# else - if (sem_post((*s_etat_processus).semaphore_fork) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } -# endif if ((s_objet_resultat = lecture_pipe(s_etat_processus, (*(*((struct_processus_fils *) (*s_objet_argument).objet)) .thread).pipe_objets[0])) == NULL) { -# ifndef SEMAPHORES_NOMMES - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) -# else - while(sem_wait((*s_etat_processus).semaphore_fork) == -1) -# endif + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { - if (errno != EINTR) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } + (*s_etat_processus).erreur_systeme = d_es_processus; + return; } if (registre_stop == 0) @@ -317,17 +302,10 @@ instruction_recv(struct_processus *s_eta return; } -# ifndef SEMAPHORES_NOMMES - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) -# else - while(sem_wait((*s_etat_processus).semaphore_fork) == -1) -# endif + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { - if (errno != EINTR) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } + (*s_etat_processus).erreur_systeme = d_es_processus; + return; } if (pthread_mutex_lock(&((*(*((struct_processus_fils *) @@ -375,11 +353,7 @@ instruction_recv(struct_processus *s_eta return; } -# ifndef SEMAPHORES_NOMMES if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) -# else - if (sem_post((*s_etat_processus).semaphore_fork) != 0) -# endif { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -397,17 +371,10 @@ instruction_recv(struct_processus *s_eta } } -# ifndef SEMAPHORES_NOMMES - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) -# else - while(sem_wait((*s_etat_processus).semaphore_fork) == -1) -# endif + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { - if (errno != EINTR) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } + (*s_etat_processus).erreur_systeme = d_es_processus; + return; } if ((*s_etat_processus).profilage == d_vrai) @@ -1214,6 +1181,7 @@ instruction_rdgn(struct_processus *s_eta struct_objet *s_objet_argument; struct_objet *s_objet_resultat; + unsigned char *pointeur; unsigned char *requete; unsigned char **types_generateurs; @@ -1271,6 +1239,17 @@ instruction_rdgn(struct_processus *s_eta } strcpy(types_generateurs[i], (**type_courant).name); + pointeur = types_generateurs[i]; + + while((*pointeur) != d_code_fin_chaine) + { + if ((*pointeur) == '-') + { + (*pointeur) = '_'; + } + + pointeur++; + } } // Tri des types de générateurs (tri shaker)