Added reflist relabel
This relabels all reflections in numeric order again. This is necessary for travelsort
This commit is contained in:
27
reflist.c
27
reflist.c
@ -422,6 +422,28 @@ static int NamesCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
|
static int RelabelCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
||||||
|
pHdb par[], int nPar)
|
||||||
|
{
|
||||||
|
char buffer[10];
|
||||||
|
pHdb node = NULL;
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
node = GetHipadabaNode(self->objectNode, "data");
|
||||||
|
node = node->child;
|
||||||
|
while (node != NULL) {
|
||||||
|
snprintf(buffer,sizeof(buffer),"%4.4d", count);
|
||||||
|
if(node->name != NULL){
|
||||||
|
free(node->name);
|
||||||
|
node->name = strdup(buffer);
|
||||||
|
}
|
||||||
|
count++;
|
||||||
|
node = node->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
static int SetIndexCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
static int SetIndexCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
||||||
pHdb par[], int nPar)
|
pHdb par[], int nPar)
|
||||||
{
|
{
|
||||||
@ -585,6 +607,11 @@ pSICSOBJ CreateReflectionList(SConnection * pCon, SicsInterp * pSics,
|
|||||||
cmd = AddSICSHdbPar(pNew->objectNode, "count", usUser,
|
cmd = AddSICSHdbPar(pNew->objectNode, "count", usUser,
|
||||||
MakeSICSFunc(CountTblCmd));
|
MakeSICSFunc(CountTblCmd));
|
||||||
|
|
||||||
|
cmd = AddSICSHdbPar(pNew->objectNode, "relabel", usUser,
|
||||||
|
MakeSICSFunc(RelabelCmd));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AddCommand(pSics, name, InterInvokeSICSOBJ, KillSICSOBJ, pNew);
|
AddCommand(pSics, name, InterInvokeSICSOBJ, KillSICSOBJ, pNew);
|
||||||
return pNew;
|
return pNew;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user