#include "libnazgul.h" int msgSpaceListRem(msgSpaceListElemId oldElemId){ msgSpaceListElem * listOldHeadElem; msgSpaceList * list=NULL; list=msgSpaceListOpen(); if (strcmp(list->headId,list->id)==0){ NZG_ERROR("msgSpaceListElemRem : Empty list",list->id); goto ERROR; } strcpy(oldElemId,list->headId); listOldHeadElem=msgSpaceListElemOpen(oldElemId); if (listOldHeadElem == NULL){ NZG_ERROR("msgSpaceListElemOpen",oldElemId); goto ERROR; } // on indique à la list le nouveau premier element strcpy(list->headId,listOldHeadElem->next); // on fait en sorte que l'element ne connaisse plus // ses voisins (utile pour le Delete) strcpy(listOldHeadElem->next,listOldHeadElem->id); if (msgSpaceListElemClose(listOldHeadElem)<0 ){ NZG_ERROR("msgSpaceListElemClose",oldElemId); goto ERROR; } msgSpaceListClose(list); return 0; ERROR: return -1; }