in src/mqtt_codec.c [132:161]
static int addListItemsToUnsubscribePacket(BUFFER_HANDLE ctrlPacket, const char** payloadList, size_t payloadCount, STRING_HANDLE trace_log)
{
int result = 0;
size_t index = 0;
for (index = 0; index < payloadCount && result == 0; index++)
{
// Add the Payload
size_t offsetLen = BUFFER_length(ctrlPacket);
size_t topicLen = strlen(payloadList[index]);
if (topicLen > USHRT_MAX)
{
result = MU_FAILURE;
}
else if (BUFFER_enlarge(ctrlPacket, topicLen + 2) != 0)
{
result = MU_FAILURE;
}
else
{
uint8_t* iterator = BUFFER_u_char(ctrlPacket);
iterator += offsetLen;
byteutil_writeUTF(&iterator, payloadList[index], (uint16_t)topicLen);
}
if (trace_log != NULL)
{
STRING_sprintf(trace_log, " | TOPIC_NAME: %s", payloadList[index]);
}
}
return result;
}