goto exit;
}
+ OCResourcePayloadAddStringLL(&payload->interfaces, OC_RSRVD_INTERFACE_DEFAULT);
+ OCResourcePayloadAddStringLL(&payload->interfaces, OC_RSRVD_INTERFACE_READ);
+
payload->types = CloneOCStringLL((OCStringLL *)types);
if (types && !payload->types)
{
OICFree(payload->specVersion);
OICFree(payload->dataModelVersion);
OCFreeOCStringLL(payload->types);
+ OCFreeOCStringLL(payload->interfaces);
OICFree(payload);
}
}
payload->base.type = PAYLOAD_TYPE_PLATFORM;
-
- payload->interfaces = (OCStringLL*)OICCalloc(1, sizeof(OCStringLL));
- if (!payload->interfaces)
- {
- return NULL;
- }
- payload->interfaces->value = OICStrdup(OC_RSRVD_INTERFACE_READ);
payload->rt = OICStrdup(OC_RSRVD_RESOURCE_TYPE_PLATFORM);
+
+ OCResourcePayloadAddStringLL(&payload->interfaces, OC_RSRVD_INTERFACE_DEFAULT);
+ OCResourcePayloadAddStringLL(&payload->interfaces, OC_RSRVD_INTERFACE_READ);
+
OCCopyPlatformInfo(platformInfo, payload);
return payload;