in src/mqtt_message.c [154:174]
MQTT_MESSAGE_HANDLE mqttmessage_clone(MQTT_MESSAGE_HANDLE handle)
{
MQTT_MESSAGE_HANDLE result;
if (handle == NULL)
{
/* Codes_SRS_MQTTMESSAGE_07_007: [If handle parameter is NULL then mqttmessage_clone shall return NULL.] */
LogError("Invalid Parameter handle: %p.", handle);
result = NULL;
}
else
{
/* Codes_SRS_MQTTMESSAGE_07_008: [mqttmessage_clone shall create a new MQTT_MESSAGE_HANDLE with data content identical of the handle value.] */
result = mqttmessage_create(handle->packetId, handle->topicName, handle->qosInfo, handle->appPayload.message, handle->appPayload.length);
if (result != NULL)
{
result->isDuplicateMsg = handle->isDuplicateMsg;
result->isMessageRetained = handle->isMessageRetained;
}
}
return result;
}