-Fixed a small bug in sicsdata copytonode where the start position was not honoured
This commit is contained in:
@ -954,7 +954,7 @@ static int copyToNode(pSICSData self, int argc, char *argv[],
|
||||
}
|
||||
node->value.arrayLength = length;
|
||||
}
|
||||
memcpy(node->value.v.intArray, self->data, length*sizeof(int));
|
||||
memcpy(node->value.v.intArray, self->data + start, length*sizeof(int));
|
||||
break;
|
||||
case HIPFLOATAR:
|
||||
case HIPFLOATVARAR:
|
||||
|
16
sicsobj.c
16
sicsobj.c
@ -496,30 +496,30 @@ int InvokeSICSOBJ(SConnection * pCon, SicsInterp * pSics, void *pData,
|
||||
SCWrite(pCon, "ERROR: nothing to print", eError);
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
parNode = GetHipadabaNode(self->objectNode, argv[1]);
|
||||
if(parNode == NULL){
|
||||
strtolower(argv[1]);
|
||||
parNode = GetHipadabaNode(self->objectNode,argv[1]);
|
||||
}
|
||||
}
|
||||
if (parNode != NULL && parNode->value.dataType == HIPFUNC) {
|
||||
}
|
||||
if (parNode != NULL && parNode->value.dataType == HIPFUNC) {
|
||||
status = invokeOBJFunction(self, parNode, pCon, argc - 2, &argv[2]);
|
||||
} else {
|
||||
} else {
|
||||
snprintf(buffer, sizeof buffer, "%s ", argv[0]);
|
||||
status = ProcessSICSHdbPar(self->objectNode, pCon, buffer,
|
||||
argc - 1, &argv[1]);
|
||||
}
|
||||
if (status == -1) {
|
||||
}
|
||||
if (status == -1) {
|
||||
if (strcmp(argv[1], "makescriptfunc") == 0) {
|
||||
return MakeScriptFunc(self, pCon, argc, argv);
|
||||
} else if (strcmp(argv[1], "list") == 0) {
|
||||
return ListObj(self, pCon, argc, argv);
|
||||
}
|
||||
/* error message written by the caller */
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
return status;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
Reference in New Issue
Block a user