size_t *size);
static int64_t OCConvertRepPayload(OCRepPayload *payload, uint8_t *outPayload, size_t *size);
static int64_t OCConvertRepMap(CborEncoder *map, const OCRepPayload *payload);
+#ifdef WITH_PRESENCE
static int64_t OCConvertPresencePayload(OCPresencePayload *payload, uint8_t *outPayload,
size_t *size);
+#endif
static int64_t OCConvertSecurityPayload(OCSecurityPayload *payload, uint8_t *outPayload,
size_t *size);
static int64_t OCConvertSingleRepPayload(CborEncoder *parent, const OCRepPayload *payload);
// reallocate "out" and try again!
uint8_t *out2 = (uint8_t *)OICRealloc(out, curSize);
VERIFY_PARAM_NON_NULL(TAG, out2, "Failed to increase payload size");
+ memset(out2, 0, curSize);
out = out2;
err = OCConvertPayloadHelper(payload, out, &curSize);
while (err == CborErrorOutOfMemory)
{
uint8_t *out2 = (uint8_t *)OICRealloc(out, curSize);
VERIFY_PARAM_NON_NULL(TAG, out2, "Failed to increase payload size");
+ memset(out2, 0, curSize);
out = out2;
err = OCConvertPayloadHelper(payload, out, &curSize);
}
return OCConvertDiscoveryPayload((OCDiscoveryPayload*)payload, outPayload, size);
case PAYLOAD_TYPE_REPRESENTATION:
return OCConvertRepPayload((OCRepPayload*)payload, outPayload, size);
+#ifdef WITH_PRESENCE
case PAYLOAD_TYPE_PRESENCE:
return OCConvertPresencePayload((OCPresencePayload*)payload, outPayload, size);
+#endif
case PAYLOAD_TYPE_SECURITY:
return OCConvertSecurityPayload((OCSecurityPayload*)payload, outPayload, size);
default:
return checkError(err, &encoder, outPayload, size);
}
+#ifdef WITH_PRESENCE
static int64_t OCConvertPresencePayload(OCPresencePayload *payload, uint8_t *outPayload,
size_t *size)
{
exit:
return checkError(err, &encoder, outPayload, size);
}
+#endif // WITH_PRESENCE
static int64_t AddTextStringToMap(CborEncoder* map, const char* key, size_t keylen,
const char* value)