- Made init function in ascon handle errors
- Minor fixes to scriptcontext.c
This commit is contained in:
@ -514,16 +514,16 @@ static void copyIntSicsData(pHdb node, pSICSData data){
|
||||
if(node->value.arrayLength != data->dataUsed){
|
||||
if(node->value.v.intArray != NULL){
|
||||
free(node->value.v.intArray);
|
||||
node->value.arrayLength = data->dataUsed;
|
||||
node->value.v.intArray = malloc(data->dataUsed*sizeof(int));
|
||||
if(node->value.v.intArray == NULL){
|
||||
node->value.arrayLength = 0;
|
||||
return;
|
||||
}
|
||||
memcpy(node->value.v.intArray, data->data,
|
||||
data->dataUsed*sizeof(int));
|
||||
}
|
||||
node->value.arrayLength = data->dataUsed;
|
||||
node->value.v.intArray = malloc(data->dataUsed*sizeof(int));
|
||||
if(node->value.v.intArray == NULL){
|
||||
node->value.arrayLength = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
memcpy(node->value.v.intArray, data->data,
|
||||
data->dataUsed*sizeof(int));
|
||||
}
|
||||
/*-----------------------------------------------------------------------*/
|
||||
static void copyFloatSicsData(pHdb node, pSICSData data){
|
||||
@ -533,17 +533,17 @@ static void copyFloatSicsData(pHdb node, pSICSData data){
|
||||
if(node->value.arrayLength != data->dataUsed){
|
||||
if(node->value.v.floatArray != NULL){
|
||||
free(node->value.v.floatArray);
|
||||
node->value.arrayLength = data->dataUsed;
|
||||
node->value.v.floatArray = malloc(data->dataUsed*sizeof(double));
|
||||
if(node->value.v.floatArray == NULL){
|
||||
node->value.arrayLength = 0;
|
||||
return;
|
||||
}
|
||||
for(i = 0; i < data->dataUsed; i++){
|
||||
getSICSDataFloat(data,i,&val);
|
||||
node->value.v.floatArray[i] = val;
|
||||
}
|
||||
}
|
||||
node->value.arrayLength = data->dataUsed;
|
||||
node->value.v.floatArray = malloc(data->dataUsed*sizeof(double));
|
||||
if(node->value.v.floatArray == NULL){
|
||||
node->value.arrayLength = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
for(i = 0; i < data->dataUsed; i++){
|
||||
getSICSDataFloat(data,i,&val);
|
||||
node->value.v.floatArray[i] = val;
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
@ -612,7 +612,6 @@ static hdbCallbackReturn SICSDataCallback(pHdb node, void *userData,
|
||||
/*============== interpreter function ==================================*/
|
||||
int SICSHdbAdapter(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]){
|
||||
pHdb root = NULL;
|
||||
pHdb path = NULL;
|
||||
pHdb node = NULL;
|
||||
pMotor pMot = NULL;
|
||||
@ -627,9 +626,6 @@ int SICSHdbAdapter(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int type;
|
||||
pHdbCallback pCall = NULL;
|
||||
|
||||
root = GetHipadabaRoot();
|
||||
assert(root != NULL);
|
||||
|
||||
if(!SCMatchRights(pCon,usMugger)){
|
||||
return 0;
|
||||
}
|
||||
@ -638,7 +634,7 @@ int SICSHdbAdapter(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
return 0;
|
||||
}
|
||||
|
||||
path = GetHipadabaNode(root,argv[1]);
|
||||
path = FindHdbNode(NULL,argv[1],pCon);
|
||||
if(path == NULL){
|
||||
SCWrite(pCon,"ERROR: path to attach object too not found",eError);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user