#include "libnazgul.h" // l'id de l'element enlevé vas dans oldElemId int msgQueueElemRem(msgQueue * queue, msgQueueElemId oldElemId){ msgQueueElem * queueOldHeadElem; if (strcmp(queue->headId,queue->tailId)==0){ NZG_ERROR("msgQueueElemRem : Empty queue",queue->id); goto ERROR; } strcpy(oldElemId,queue->headId); queueOldHeadElem=msgQueueElemOpen(oldElemId); if (queueOldHeadElem == NULL){ NZG_ERROR("msgQueueElemOpen",oldElemId); goto ERROR; } strcpy(queue->headId,queueOldHeadElem->next); if (msgQueueElemClose(queueOldHeadElem)<0 ){ NZG_ERROR("msgQueueElemClose",oldElemId); goto ERROR; } return 0; ERROR: return -1; }