int LOG_CONTEXT_PROPERTY_TYPE_GET_INIT_DATA_SIZE()

in v2/src/log_context_property_type_wchar_t_ptr.c [120:137]


int LOG_CONTEXT_PROPERTY_TYPE_GET_INIT_DATA_SIZE(wchar_t_ptr)(const wchar_t* format, ...)
{
    va_list args;
    va_start(args, format);

    wchar_t buffer[LOG_MAX_WCHAR_STRING_LENGTH];
    /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_WCHAR_T_PTR_07_018: [ If vswprintf fails, LOG_CONTEXT_PROPERTY_TYPE_GET_INIT_DATA_SIZE(wchar_t_ptr) shall return a negative value. ]*/
    /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_WCHAR_T_PTR_07_019: [ Otherwise, on success, LOG_CONTEXT_PROPERTY_TYPE_GET_INIT_DATA_SIZE(wchar_t_ptr) shall return the amount of memory needed in number of wide-chracters to store the wprintf style formatted wchar_t string given by format and the arguments in .... ]*/
    int result = vswprintf(buffer, LOG_MAX_WCHAR_STRING_LENGTH, format, args) * sizeof(wchar_t);
    if (result >= 0)
    {
        result += sizeof(wchar_t);
    }

    va_end(args);

    return result;
}