void destroy_log_producer_config()

in Sources/aliyun-log-c-sdk/log_producer_config.c [67:127]


void destroy_log_producer_config(log_producer_config * pConfig)
{
    if (pConfig->project != NULL)
    {
        log_sdsfree(pConfig->project);
    }
    if (pConfig->logstore != NULL)
    {
        log_sdsfree(pConfig->logstore);
    }
    if (pConfig->endpoint != NULL)
    {
        log_sdsfree(pConfig->endpoint);
    }
    if (pConfig->accessKey != NULL)
    {
        log_sdsfree(pConfig->accessKey);
    }
    if (pConfig->accessKeyId != NULL)
    {
        log_sdsfree(pConfig->accessKeyId);
    }
    if (pConfig->topic != NULL)
    {
        log_sdsfree(pConfig->topic);
    }
    if (pConfig->source != NULL)
    {
        log_sdsfree(pConfig->source);
    }
    if (pConfig->netInterface != NULL)
    {
        log_sdsfree(pConfig->netInterface);
    }
    if (pConfig->securityToken != NULL)
    {
        log_sdsfree(pConfig->securityToken);
    }
    if (pConfig->securityTokenLock != NULL)
    {
        ReleaseCriticalSection(pConfig->securityTokenLock);
    }
    if (pConfig->tagCount > 0 && pConfig->tags != NULL)
    {
        int i = 0;
        for (; i < pConfig->tagCount; ++i)
        {
            log_sdsfree(pConfig->tags[i].key);
            log_sdsfree(pConfig->tags[i].value);
        }
        free(pConfig->tags);
    }
    if (pConfig->persistentFilePath != NULL)
    {
        log_sdsfree(pConfig->persistentFilePath);
    }
    if (pConfig->mode == 1 && NULL != pConfig->shardKey) {
        log_sdsfree(pConfig->shardKey);
    }
    free(pConfig);
}