/* Returns 0 if memory pointed to by s1 and and s2 are identical; non-zero otherwise.  */
static int osdp_ct_compare(const void *s1, const void *s2, size_t len)
/* Returns 0 if memory pointed to by s1 and and s2 are identical; non-zero otherwise.  */
static int osdp_ct_compare(const void *s1, const void *s2, size_t len)
{
	size_t i, ret = 0;
	const uint8_t *_s1 = s1;
	const uint8_t *_s2 = s2;
	for (i = 0; i < len; i++) {
		ret |= _s1[i] ^ _s2[i];
	}
	return (int)ret;
}