in src/log_producer_config.c [271:300]
void log_producer_config_add_tag(log_producer_config * pConfig, const char * key, const char * value)
{
if(key == NULL || value == NULL)
{
return;
}
++pConfig->tagCount;
if (pConfig->tags == NULL || pConfig->tagCount > pConfig->tagAllocSize)
{
if(pConfig->tagAllocSize == 0)
{
pConfig->tagAllocSize = 4;
}
else
{
pConfig->tagAllocSize *= 2;
}
log_producer_config_tag * tagArray = (log_producer_config_tag *)malloc(sizeof(log_producer_config_tag) * pConfig->tagAllocSize);
if (pConfig->tags != NULL)
{
memcpy(tagArray, pConfig->tags, sizeof(log_producer_config_tag) * (pConfig->tagCount - 1));
free(pConfig->tags);
}
pConfig->tags = tagArray;
}
int32_t tagIndex = pConfig->tagCount - 1;
pConfig->tags[tagIndex].key = sdsnew(key);
pConfig->tags[tagIndex].value = sdsnew(value);
}