l3.libnazgul/src/spaceListRem.c

42 lines
895 B
C
Raw Normal View History

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