Merge commit 'refs/merge-requests/1' of ssh://gitorious.psi.ch/sinqdev/sics into merge-requests/1
First merge with ANSTO which compiles Conflicts: SICSmain.c asynnet.c confvirtualmot.c counter.c devexec.c drive.c exebuf.c hipadaba.c interface.h make_gen motor.c nserver.c nwatch.c ofac.c protocol.c sicshipadaba.c
This commit is contained in:
52
nxscript.c
52
nxscript.c
@@ -462,6 +462,7 @@ static void putHdb(SConnection * pCon, SicsInterp * pSics, pNXScript self,
|
||||
hdbValue v;
|
||||
float fVal, *floatAr = NULL;
|
||||
int i;
|
||||
int start[5], size[5];
|
||||
|
||||
if (argc < 3) {
|
||||
SCWrite(pCon, "ERROR: putHdb needs at least node name", eLogError);
|
||||
@@ -484,6 +485,23 @@ static void putHdb(SConnection * pCon, SicsInterp * pSics, pNXScript self,
|
||||
}
|
||||
}
|
||||
GetHipadabaPar(node, &v, pCon);
|
||||
if (argc > 3 && strcmp(argv[3], "point") == 0) {
|
||||
NXDopenalias(self->fileHandle, self->dictHandle, alias);
|
||||
start[0] = atoi(argv[4]);
|
||||
size[0] = 1;
|
||||
switch (v.dataType) {
|
||||
case HIPINT:
|
||||
NXputslab(self->fileHandle, &v.v.intValue, start, size);
|
||||
break;
|
||||
case HIPFLOAT:
|
||||
fVal = v.v.doubleValue;
|
||||
NXputslab(self->fileHandle, &fVal, start, size);
|
||||
break;
|
||||
}
|
||||
ReleaseHdbValue(&v);
|
||||
NXopenpath(self->fileHandle, "/");
|
||||
return;
|
||||
}
|
||||
switch (v.dataType) {
|
||||
case HIPNONE:
|
||||
return;
|
||||
@@ -922,6 +940,7 @@ static void putHistogramMemoryChunked(SConnection * pCon,
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define HANUM 3
|
||||
static void putSlab(SConnection * pCon, SicsInterp * pSics, pNXScript self,
|
||||
int argc, char *argv[])
|
||||
{
|
||||
@@ -1986,6 +2005,35 @@ static void makeLink(SConnection * pCon, SicsInterp * pSics,
|
||||
SCSendOK(pCon);
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
extern NXstatus NXDaliasnamedlink(NXhandle hFil, NXdict dict,
|
||||
char *pTarget, char *pVictim, char *newname);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void makeNamedLink(SConnection * pCon, SicsInterp * pSics,
|
||||
pNXScript self, int argc, char *argv[])
|
||||
{
|
||||
int status;
|
||||
char pBueffel[256];
|
||||
|
||||
if (argc < 5) {
|
||||
SCWrite(pCon, "ERROR: insufficient number of arguments to makenamedlink",
|
||||
eLogError);
|
||||
return;
|
||||
}
|
||||
|
||||
status = NXDaliasnamedlink(self->fileHandle, self->dictHandle,
|
||||
argv[2], argv[3], argv[4]);
|
||||
if (status != NX_OK) {
|
||||
snprintf(pBueffel, 255, "ERROR: linking %s against %s as %s failed",
|
||||
argv[2], argv[3], argv[4]);
|
||||
SCWrite(pCon, pBueffel, eLogError);
|
||||
return;
|
||||
}
|
||||
|
||||
SCSendOK(pCon);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void updateDictVar(SConnection * pCon, pNXScript self, int argc,
|
||||
char *argv[])
|
||||
@@ -2095,6 +2143,10 @@ int NXScriptAction(SConnection * pCon, SicsInterp * pSics, void *pData,
|
||||
makeLink(pCon, pSics, self, argc, argv);
|
||||
return 1;
|
||||
}
|
||||
if (strcmp(argv[1], "makenamedlink") == 0) {
|
||||
makeNamedLink(pCon, pSics, self, argc, argv);
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user