Fixed a bug in sicshipadaba which would not cause bin transfer mode properly honoured on hget
Added a total feature to histmemsec
This commit is contained in:
18
histmemsec.c
18
histmemsec.c
@ -262,6 +262,22 @@ static int SumCmd(pSICSOBJ ccmd, SConnection * pCon,
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
/*-------------------------------------------------------------------------*/
|
||||
static int TotalCmd(pSICSOBJ ccmd, SConnection * pCon,
|
||||
Hdb * cmdNode, Hdb * par[], int nPar)
|
||||
{
|
||||
pHdb dataNode = NULL;
|
||||
long lSum = 0;
|
||||
int i;
|
||||
|
||||
dataNode = GetHipadabaNode(ccmd->objectNode,"data");
|
||||
assert(dataNode != NULL);
|
||||
for(i = 0, lSum = 0; i < dataNode->value.arrayLength; i++){
|
||||
lSum += dataNode->value.v.intArray[i];
|
||||
}
|
||||
SCPrintf(pCon,eValue,"%s.total = %ld", ccmd->objectNode->name, lSum);
|
||||
return 1;
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
static int InitCmd(pSICSOBJ ccmd, SConnection * con,
|
||||
Hdb * cmdNode, Hdb * par[], int nPar)
|
||||
@ -382,6 +398,8 @@ int MakeSecHM(SConnection * pCon, SicsInterp * pSics, void *pData,
|
||||
AddSICSHdbPar(child, "ystart", usSpy, MakeHdbInt(0));
|
||||
AddSICSHdbPar(child, "yend", usSpy, MakeHdbInt(0));
|
||||
|
||||
child = AddSICSHdbPar(node,"total", usSpy, MakeSICSFunc(TotalCmd));
|
||||
|
||||
/*
|
||||
* test TOF option
|
||||
*/
|
||||
|
@ -693,7 +693,7 @@ static hdbCallbackReturn SICSNotifyCallback(pHdb node, void *userData,
|
||||
SCPureSockWrite(cbInfo->pCon, GetCharArray(result), outCode);
|
||||
DeleteDynString(printedData);
|
||||
} else {
|
||||
formatNameValue(protocol, pPath, "!!datachange!!", result, HIPTEXT);
|
||||
formatNameValue(protocol, updatePath, "!!datachange!!", result, HIPTEXT);
|
||||
SCWrite(cbInfo->pCon, GetCharArray(result), outCode);
|
||||
}
|
||||
DeleteDynString(result);
|
||||
@ -2708,10 +2708,10 @@ static int GetHdbNode(SConnection * pCon, SicsInterp * pSics, void *pData,
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* if transfer = zip, redirect to zip
|
||||
* if transfer = zip or bin, redirect to zip
|
||||
*/
|
||||
if (GetHdbProperty(targetNode, "transfer", value, 80) == 1) {
|
||||
if (strstr(value, "zip") != NULL) {
|
||||
if (strstr(value, "zip") != NULL || strstr(value,"bin") != NULL) {
|
||||
return ZipGetHdbNode(pCon, pSics, pData, argc, argv);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user