/* * FUNCTION: pkix_pl_OID_Equals * (see comments for PKIX_PL_EqualsCallback in pkix_pl_system.h) */ static PKIX_Error * pkix_pl_OID_Equals( PKIX_PL_Object *first, PKIX_PL_Object *second, PKIX_Boolean *pResult, void *plContext) { PKIX_Int32 cmpResult; PKIX_ENTER(OID, "pkix_pl_OID_Equals"); PKIX_NULLCHECK_THREE(first, second, pResult); PKIX_CHECK(pkix_pl_OID_Comparator (first, second, &cmpResult, plContext), PKIX_OIDCOMPARATORFAILED); *pResult = (cmpResult == 0); cleanup: PKIX_RETURN(OID); }
/* * FUNCTION: pkix_pl_OID_Equals * (see comments for PKIX_PL_EqualsCallback in pkix_pl_system.h) */ static PKIX_Error * pkix_pl_OID_Equals( PKIX_PL_Object *first, PKIX_PL_Object *second, PKIX_Boolean *pResult, void *plContext) { PKIX_UInt32 secondType; SECComparison cmpResult; PKIX_ENTER(OID, "pkix_pl_OID_Equals"); PKIX_NULLCHECK_THREE(first, second, pResult); PKIX_CHECK(pkix_CheckType(first, PKIX_OID_TYPE, plContext), PKIX_FIRSTARGUMENTNOTANOID); PKIX_CHECK(PKIX_PL_Object_GetType(second, &secondType, plContext), PKIX_COULDNOTGETTYPEOFSECONDARGUMENT); *pResult = PKIX_FALSE; /* * Do a quick check that the second object is an OID. * If so, check that their lengths are equal. */ if (secondType != PKIX_OID_TYPE) { goto cleanup; } PKIX_CHECK(pkix_pl_OID_Comparator (first, second, &cmpResult, plContext), PKIX_OIDCOMPARATORFAILED); *pResult = (cmpResult == SECEqual); cleanup: PKIX_RETURN(OID); }