int test_or_alloc_ID(_sbinfo sbinfo, char *name, int len, int *n, int flag) { int count = 0; int flag1 = 0; (*n) = buf_hash(name, len); while (count < MaxUsers && (*n) < MaxUsers) { if (bit(sbinfo->vnodemapping, *n)) { if (strcmp(((vnode *) ((char *)sbinfo->vnodeTable + (*n) * sizeof(vnode)))->cameraid, name) == 0) { flag1 = 1; break; } } (*n) = ((*n) + 1) % MaxUsers; count++; } //end while()??? return flag1; }
static int dialog_associations_hash(const void *obj, int flags) { const struct distributor_dialog_data *object; union { const pjsip_dialog *dlg; const char buf[sizeof(pjsip_dialog *)]; } key; switch (flags & OBJ_SEARCH_MASK) { case OBJ_SEARCH_KEY: key.dlg = obj; break; case OBJ_SEARCH_OBJECT: object = obj; key.dlg = object->dlg; break; default: /* Hash can only work on something with a full key. */ ast_assert(0); return 0; } return ast_str_hash_restrict(buf_hash(key.buf, sizeof(key.buf))); }