int umocktypes_are_equal_wcharptr()

in src/umocktypes_wcharptr.c [89:121]


int umocktypes_are_equal_wcharptr(const wchar_t** left, const wchar_t** right)
{
    int result;

    if (
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_42_001: [ If left is NULL, umocktypes_are_equal_wcharptr shall return -1. ]*/
        (left == NULL) ||
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_42_002: [ If right is NULL, umocktypes_are_equal_wcharptr shall return -1. ]*/
        (right == NULL))
    {
        UMOCK_LOG("umocktypes_are_equal_wcharptr: Bad arguments:left = %p, right = %p.", left, right);
        result = -1;
    }
    else if (*left == *right)
    {
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_01_007: [ If left and right are equal, umocktypes_are_equal_wcharptr shall return 1. ]*/
        result = 1;
    }
    else if ((*left == NULL) || (*right == NULL))
    {
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_01_008: [ If only one of the left and right argument is NULL, umocktypes_are_equal_wcharptr shall return 0. ] */
        result = 0;
    }
    else
    {
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_01_009: [ If the string pointed to by left is equal to the string pointed to by right, umocktypes_are_equal_wcharptr shall return 1. ]*/
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_01_010: [ If the string pointed to by left is different than the string pointed to by right, umocktypes_are_equal_wcharptr shall return 0. ]*/
        /* Codes_SRS_UMOCKTYPES_WCHARPTR_01_006: [ The comparison shall be case sensitive. ]*/
        result = (wcscmp(*left, *right) == 0) ? 1 : 0;
    }

    return result;
}