- Various fixes to make mountaingum work

This commit is contained in:
koennecke
2007-08-15 07:14:50 +00:00
parent 25f80f42fb
commit 590a979290
10 changed files with 1930 additions and 9976 deletions

View File

@ -316,7 +316,7 @@ static int SCHdbWrite(SConnection *self, char *message, int outCode){
/*--------------------------------------------------------------------*/
int exeHdbNode(pHdb exeNode, SConnection *pCon){
char pBueffel[512], *name = NULL;
pHdb node = NULL;
pHdb node = NULL, log = NULL;
pExeBuf buffer = NULL;
hdbValue v;
int status;
@ -326,17 +326,17 @@ int exeHdbNode(pHdb exeNode, SConnection *pCon){
/*
* clear log buffer
*/
node = GetHipadabaNode(exeNode,"log");
if(node == NULL){
log = GetHipadabaNode(exeNode,"log");
if(log == NULL){
SCWrite(pCon,"ERROR: Hdb node not found or in wrong format",eError);
return 0;
}
v = MakeHdbText(strdup(""));
UpdateHipadabaPar(node,v,pCon);
UpdateHipadabaPar(log,v,pCon);
/*
* prepare context
*/
name = GetHipadabaPath(node);
name = GetHipadabaPath(log);
cc = SCGetContext(pCon);
strncpy(cc.deviceID, name,255);
strncpy(bufferNode,name,511);
@ -371,6 +371,12 @@ int exeHdbNode(pHdb exeNode, SConnection *pCon){
status = exeBufProcess(buffer,pServ->pSics,pCon,NULL,0);
SCSetWriteFunc(pCon,oldWrite);
SCPopContext(pCon);
exeBufDelete(buffer);
if(strlen(log->value.v.text) < 2){
v = MakeHdbText(strdup("OK\n"));
UpdateHipadabaPar(log,v,pCon);
ReleaseHdbValue(&v);
}
return status;
}
/*--------------------------------------------------------------------*/