diff --git a/sicshdbadapter.c b/sicshdbadapter.c index a56b4d89..4e0e7788 100644 --- a/sicshdbadapter.c +++ b/sicshdbadapter.c @@ -30,23 +30,23 @@ #include "sicsdata.h" #include "HistMem.i" -#define PRIVNAM "priv" +#define PRIVNAM "privilege" /*==================== support code ====================================*/ static void AddPrivProperty(pHdb node, int priv) { char pPriv[80]; switch (priv) { case usInternal: - strcpy(pPriv, "internal"); + strcpy(pPriv, "READ_ONLY"); break; case usMugger: - strcpy(pPriv, "manager"); + strcpy(pPriv, "MANAGER"); break; case usUser: - strcpy(pPriv, "user"); + strcpy(pPriv, "USER"); break; case usSpy: - strcpy(pPriv, "spy"); + strcpy(pPriv, "SPY"); break; default: assert(0); @@ -468,7 +468,7 @@ static pHdb MakeSicsVarNode(pSicsVariable pVar, char *name) pHdbCallback pCall = NULL; commandContext comCom; int type; - char command[1024]; + hdbValue v; switch (pVar->eType) { case veInt: @@ -496,8 +496,18 @@ static pHdb MakeSicsVarNode(pSicsVariable pVar, char *name) } AppendHipadabaCallback(node, pCall); RegisterCallback(pVar->pCall, VALUECHANGE, ValueCallback, node, NULL); - snprintf(command, 1023, "%s ", pVar->name); - SetHdbProperty(node, "sicscommand", command); + switch (pVar->eType) { + case veInt: + v = MakeHdbInt(pVar->iVal); + break; + case veFloat: + v = MakeHdbFloat((double) pVar->fVal); + break; + case veText: + v = MakeHdbText(pVar->text); + break; + } + UpdateHipadabaPar(node, v, NULL); node->protected = 1; return node;