--- rpl/src/instructions_r6.c 2010/04/07 13:45:08 1.7 +++ rpl/src/instructions_r6.c 2011/09/20 08:56:23 1.32 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.14 - 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" /* @@ -275,13 +275,10 @@ instruction_recv(struct_processus *s_eta (*(*((struct_processus_fils *) (*s_objet_argument).objet)) .thread).pipe_objets[0])) == NULL) { - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) + 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) @@ -305,13 +302,10 @@ instruction_recv(struct_processus *s_eta return; } - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) + 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 *) @@ -377,13 +371,10 @@ instruction_recv(struct_processus *s_eta } } - while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) + 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) @@ -1190,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; @@ -1247,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)