int ast_hashtab_insert_immediate(struct ast_hashtab *tab, const void *obj);
/* same as the above, but h is the hash index; won't hash to find the index */
-int ast_hashtab_insert_immediate_bucket(struct ast_hashtab *tab, const void *obj, int h);
+int ast_hashtab_insert_immediate_bucket(struct ast_hashtab *tab, const void *obj, unsigned int h);
/* check to see if the element is already there; insert only if
/* same as the above lookup, but sets h to the key hash value if the lookup fails -- this has the modulus
applied, and will not be useful for long term storage if the table is resizable */
-void * ast_hashtab_lookup_bucket(struct ast_hashtab *tab, const void *obj, int *h);
+void * ast_hashtab_lookup_bucket(struct ast_hashtab *tab, const void *obj, unsigned int *h);
/* returns key stats for the table */
void ast_hashtab_get_stats( struct ast_hashtab *tab, int *biggest_bucket_size, int *resize_count, int *num_objects, int *num_buckets);
struct ast_hashtab *ast_hashtab_dup(struct ast_hashtab *tab, void *(*obj_dup_func)(const void *obj))
{
struct ast_hashtab *ht = ast_calloc(1,sizeof(struct ast_hashtab));
- int i;
+ unsigned int i;
ht->array = ast_calloc(tab->hash_tab_size,sizeof(struct ast_hashtab_bucket*));
ht->hash_tab_size = tab->hash_tab_size;
return 1;
}
-int ast_hashtab_insert_immediate_bucket(struct ast_hashtab *tab, const void *obj, int h)
+int ast_hashtab_insert_immediate_bucket(struct ast_hashtab *tab, const void *obj, unsigned int h)
{
/* normally, you'd insert "safely" by checking to see if the element is
already there; in this case, you must already have checked. If an element
it is not there. */
/* will force a resize if the resize func returns 1 */
/* returns 1 on success, 0 if there's a problem, or it's already there. */
- int bucket = 0;
+ unsigned int bucket = 0;
if (tab->do_locking)
ast_rwlock_wrlock(&tab->lock);
return 0;
}
-void * ast_hashtab_lookup_bucket(struct ast_hashtab *tab, const void *obj, int *bucket)
+void * ast_hashtab_lookup_bucket(struct ast_hashtab *tab, const void *obj, unsigned int *bucket)
{
/* lookup this object in the hash table. return a ptr if found, or NULL if not */
unsigned int h;