ADDED_OBJ *ca = (ADDED_OBJ *)ca_void;
const ADDED_OBJ *ca = (const ADDED_OBJ *)ca_void;
static unsigned long add_hash(const void *ca_void)	{	const ASN1_OBJECT *a;	int i;	unsigned long ret=0;	unsigned char *p;	ADDED_OBJ *ca = (ADDED_OBJ *)ca_void;	a=ca->obj;	switch (ca->type)		{	case ADDED_DATA:		ret=a->length<<20L;		p=(unsigned char *)a->data;		for (i=0; i<a->length; i++)			ret^=p[i]<<((i*3)%24);		break;	case ADDED_SNAME:		ret=lh_strhash(a->sn);		break;	case ADDED_LNAME:		ret=lh_strhash(a->ln);		break;	case ADDED_NID:		ret=a->nid;		break;	default:		/* abort(); */		return 0;		}	ret&=0x3fffffffL;	ret|=ca->type<<30L;	return(ret);	}