2004-02-23 09:42:25 +00:00
|
|
|
|
#include "libnazgul.h"
|
|
|
|
|
|
2004-02-25 18:33:06 +00:00
|
|
|
|
int msgSpaceListRem(msgSpaceListElemId oldElemId){
|
|
|
|
|
msgSpaceListElem * listOldHeadElem;
|
|
|
|
|
msgSpaceList * list=NULL;
|
2004-02-23 09:42:25 +00:00
|
|
|
|
|
2004-02-25 18:33:06 +00:00
|
|
|
|
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 <20> 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;
|
|
|
|
|
|
|
|
|
|
}
|
2004-02-23 09:42:25 +00:00
|
|
|
|
|
|
|
|
|
|