Esempio n. 1
0
/* 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);
  }
Esempio n. 2
0
/* 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);
}
Esempio n. 3
0
static unsigned long
HashCallback(const void *arg)
{
  PathstoreElement *hash_entry = (PathstoreElement *) arg;
  return lh_strhash(hash_entry->chksum);
}
Esempio n. 4
0
/* 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));
	}
Esempio n. 5
0
static uint32_t conf_value_hash(const CONF_VALUE *v) {
  return (lh_strhash(v->section) << 2) ^ lh_strhash(v->name);
}