/* static unsigned long add_hash(ADDED_OBJ *ca) */ static unsigned long add_hash(const void *ca_void) { const ASN1_OBJECT *a; int i; unsigned long ret=0; unsigned char *p; const ADDED_OBJ *ca = (const 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); }
/* static unsigned long obj_name_hash(OBJ_NAME *a) */ static unsigned long obj_name_hash(const void *a_void) { unsigned long ret; const OBJ_NAME *a = (const OBJ_NAME *)a_void; if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > a->type)) { ret = sk_NAME_FUNCS_value(name_funcs_stack, a->type)->hash_func(a->name); } else { ret = lh_strhash(a->name); } ret ^= a->type; return (ret); }
static unsigned long HashCallback(const void *arg) { PathstoreElement *hash_entry = (PathstoreElement *) arg; return lh_strhash(hash_entry->chksum); }
/* static unsigned long MS_CALLBACK hash(FUNCTION *a) */ static unsigned long MS_CALLBACK hash(const void *a_void) { return(lh_strhash(((const FUNCTION *)a_void)->name)); }
static uint32_t conf_value_hash(const CONF_VALUE *v) { return (lh_strhash(v->section) << 2) ^ lh_strhash(v->name); }