*** empty log message ***
This commit is contained in:
parent
0d75ebe2e9
commit
546086f5f9
2 changed files with 73 additions and 31 deletions
|
@ -55,13 +55,13 @@ msgSpace * msgSpaceCreate(
|
|||
int err;
|
||||
if ((err=msgSpaceListFindId(nzgId)) < 1){
|
||||
if (err==0){
|
||||
NZG_ERROR("spaceListFindId : existing ",nzgId);
|
||||
// soit le msgSpace existe deja
|
||||
NZG_ERROR("spaceListFindId : existing ",nzgId);
|
||||
} else {
|
||||
NZG_ERROR("spaceListFindId : error ",nzgId);
|
||||
// zut, il y a soit une erreur
|
||||
NZG_ERROR("spaceListFindId : error ",nzgId);
|
||||
}
|
||||
msgSpaceListUnlock();
|
||||
// zut, il y a soit une erreur
|
||||
// soit le msgSpace existe deja
|
||||
// on quitte
|
||||
goto ERROR;
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ msgSpace * msgSpaceCreate(
|
|||
space->poolDataTabSemId);
|
||||
goto ERROR;
|
||||
} else {
|
||||
/* NZG_ERROR("sem_open : creation oki",
|
||||
/* NZG_ERROR("sem_open : creation oki",
|
||||
space->poolDataTabSemId); */
|
||||
}
|
||||
sem_close(mSDataTabSemFd);
|
||||
|
|
|
@ -1,41 +1,83 @@
|
|||
#include "libnazgul.h"
|
||||
|
||||
int msgSpaceListRem(msgSpaceListElemId oldElemId){
|
||||
msgSpaceListElem * listOldHeadElem;
|
||||
msgSpaceList * list=NULL;
|
||||
#define DEBUG 1
|
||||
|
||||
int msgSpaceListRem(msgSpaceId spaceId){
|
||||
msgSpaceList * list;
|
||||
msgSpaceListElemId listHeadElemId;
|
||||
msgSpaceListElemId listTailElemId;
|
||||
msgSpaceListId listId;
|
||||
list=msgSpaceListOpen();
|
||||
|
||||
|
||||
if (strcmp(list->headId,list->id)==0){
|
||||
NZG_ERROR("msgSpaceListElemRem : Empty list",list->id);
|
||||
if (list==NULL){
|
||||
NZG_ERROR("msgSpaceListOpen","");
|
||||
goto ERROR;
|
||||
}
|
||||
strcpy(oldElemId,list->headId);
|
||||
|
||||
listOldHeadElem=msgSpaceListElemOpen(oldElemId);
|
||||
if (listOldHeadElem == NULL){
|
||||
NZG_ERROR("msgSpaceListElemOpen",oldElemId);
|
||||
if (DEBUG) { printf("Before ListStrCpy\n"); }
|
||||
strcpy(listHeadElemId,list->headId);
|
||||
strcpy(listTailElemId,list->tailId);
|
||||
strcpy(listId,list->id);
|
||||
if (DEBUG) { printf("After ListStrCpy\n"); }
|
||||
if (msgSpaceListClose(list) < 0){
|
||||
NZG_ERROR("msgSpaceListClose","");
|
||||
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;
|
||||
|
||||
if ((strcmp(listHeadElemId,listId)==0)
|
||||
&& strcmp(listTailElemId,listId)==0){
|
||||
if (DEBUG) { printf("SpaceList : vide\n"); }
|
||||
return 1;
|
||||
} else {
|
||||
printf("RechercheRem dans l'element %s\n",listHeadElemId);
|
||||
return msgSpaceListElemRem(listHeadElemId,spaceId);
|
||||
}
|
||||
msgSpaceListClose(list);
|
||||
ERROR:
|
||||
return -1;
|
||||
}
|
||||
|
||||
int msgSpaceListElemRem(msgSpaceListElemId elemId,msgSpaceId spaceId){
|
||||
msgSpaceListElem * listElem;
|
||||
msgSpaceListElemId listElemIdNext;
|
||||
msgSpaceId currentElemSpaceId;
|
||||
|
||||
listElem=msgSpaceListElemOpen(elemId);
|
||||
if (listElem==NULL){
|
||||
NZG_ERROR("msgSpaceListElemOpen",elemId);
|
||||
goto ERROR;
|
||||
}
|
||||
strcpy(listElemIdNext,listElem->next);
|
||||
strcpy(currentElemSpaceId,listElem->spaceId);
|
||||
printf("Current ListElem: Next:%s, Sid:%s\n",
|
||||
listElemIdNext,currentElemSpaceId);
|
||||
if (msgSpaceListElemClose(listElem) <0){
|
||||
NZG_ERROR("msgSpaceListElemClose",elemId);
|
||||
goto ERROR;
|
||||
}
|
||||
printf("comparisons...\n");
|
||||
if (strcmp(listElemIdNext,elemId)==0){
|
||||
//on a rien trouvé avant et on est au bout
|
||||
return -1;
|
||||
} else {
|
||||
msgSpaceListElem * listElemNext;
|
||||
msgSpaceListElemId spaceIdNext;
|
||||
listElemNext=msgSpaceListElemOpen(listElemIdNext);
|
||||
strcpy(spaceIdNext,listElemNext->spaceId);
|
||||
strcpy(listElemIdNextNext,listElemNext->next);
|
||||
msgSpaceListElemClose(listElemNext);
|
||||
if (strcmp(spaceIdNext,spaceId)==0) {
|
||||
printf("Found/Rem %s in spaceList !\n",spaceId);
|
||||
// l'element suivant correspond
|
||||
// on ouvre l'elem courant
|
||||
// si l'id(nextnext) == id(next) alors on met notre propre id
|
||||
// sinon on met notre propre id dans next
|
||||
// on unlinke l'ancien suivant
|
||||
return 0;
|
||||
} else {
|
||||
return msgSpaceListElemRem(listElemIdNext,spaceId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
ERROR:
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue