static int struct_log_context_property_type_copy()

in v2/src/log_context_property_type_struct.c [49:74]


static int struct_log_context_property_type_copy(void* dst_value, const void* src_value)
{
    int result;

    if (
        /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_STRUCT_01_005: [ If src_value is NULL, LOG_CONTEXT_PROPERTY_TYPE_IF_IMPL(struct).copy shall fail and return a non-zero value. ]*/
        (src_value == NULL) ||
        /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_STRUCT_01_006: [ If dst_value is NULL, LOG_CONTEXT_PROPERTY_TYPE_IF_IMPL(struct).copy shall fail and return a non-zero value. ]*/
        (dst_value == NULL)
        )
    {
        (void)printf("Invalid arguments: void* dst_value=%p, void* src_value=%p\r\n",
            dst_value, src_value);
        result = MU_FAILURE;
    }
    else
    {
        /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_STRUCT_01_007: [ LOG_CONTEXT_PROPERTY_TYPE_IF_IMPL(struct).copy shall copy the number of fields associated with the structure from src_value to dst_value. ]*/
        *(uint8_t*)dst_value = *(uint8_t*)src_value;

        /* Codes_SRS_LOG_CONTEXT_PROPERTY_TYPE_STRUCT_01_008: [ LOG_CONTEXT_PROPERTY_TYPE_IF_IMPL(struct).copy shall succeed and return 0. ]*/
        result = 0;
    }

    return result;
}