|
|
|
@ -79,6 +79,7 @@ mmsClient_parseListOfAccessResults(AccessResult_t** accessResultList, int listSi
|
|
|
|
|
value->value.structure.size = arrayElementCount;
|
|
|
|
|
value->value.structure.components = (MmsValue**) GLOBAL_CALLOC(arrayElementCount, sizeof(MmsValue*));
|
|
|
|
|
|
|
|
|
|
if (value->value.structure.components) {
|
|
|
|
|
int j;
|
|
|
|
|
|
|
|
|
|
for (j = 0; j < arrayElementCount; j++) {
|
|
|
|
@ -86,12 +87,18 @@ mmsClient_parseListOfAccessResults(AccessResult_t** accessResultList, int listSi
|
|
|
|
|
accessResultList[i]->choice.array.list.array[j]);
|
|
|
|
|
|
|
|
|
|
if (value->value.structure.components[j] == NULL) {
|
|
|
|
|
|
|
|
|
|
if (DEBUG_MMS_CLIENT)
|
|
|
|
|
printf("MMS CLIENT: failed to parse array element %i\n", j);
|
|
|
|
|
|
|
|
|
|
MmsValue_delete(value);
|
|
|
|
|
value = NULL;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (DEBUG_MMS_CLIENT)
|
|
|
|
|
printf("MMS CLIENT: error parsing access result (invalid array size)!\n");
|
|
|
|
@ -109,18 +116,25 @@ mmsClient_parseListOfAccessResults(AccessResult_t** accessResultList, int listSi
|
|
|
|
|
value->value.structure.size = componentCount;
|
|
|
|
|
value->value.structure.components = (MmsValue**) GLOBAL_CALLOC(componentCount, sizeof(MmsValue*));
|
|
|
|
|
|
|
|
|
|
if (value->value.structure.components) {
|
|
|
|
|
int j;
|
|
|
|
|
for (j = 0; j < componentCount; j++) {
|
|
|
|
|
value->value.structure.components[j] = mmsMsg_parseDataElement(
|
|
|
|
|
accessResultList[i]->choice.structure.list.array[j]);
|
|
|
|
|
|
|
|
|
|
if (value->value.structure.components[j] == NULL) {
|
|
|
|
|
|
|
|
|
|
if (DEBUG_MMS_CLIENT)
|
|
|
|
|
printf("MMS CLIENT: failed to parse struct element %i\n", j);
|
|
|
|
|
|
|
|
|
|
MmsValue_delete(value);
|
|
|
|
|
value = NULL;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (DEBUG_MMS_CLIENT)
|
|
|
|
|
printf("MMS CLIENT: error parsing access result (invalid structure size)!\n");
|
|
|
|
|