dt_status_t dt_compare_timestamps()

in src/dt.c [115:139]


dt_status_t dt_compare_timestamps(const dt_timestamp_t *lhs, const dt_timestamp_t *rhs, dt_compare_result_t *result)
{
    if (dt_validate_timestamp(lhs) != DT_TRUE || dt_validate_timestamp(rhs) != DT_TRUE || !result) {
        return DT_INVALID_ARGUMENT;
    }

    if (lhs->second > rhs->second) {
        *result = DT_GREATER;
        return DT_OK;
    }
    if (lhs->second < rhs->second) {
        *result = DT_LESSER;
        return DT_OK;
    }
    if (lhs->nano_second > rhs->nano_second) {
        *result = DT_GREATER;
        return DT_OK;
    }
    if (lhs->nano_second < rhs->nano_second) {
        *result = DT_LESSER;
        return DT_OK;
    }
    *result = DT_EQUALS;
    return DT_OK;
}