diff options
-rw-r--r-- | include/asterisk/hashtab.h | 4 | ||||
-rw-r--r-- | main/hashtab.c | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/include/asterisk/hashtab.h b/include/asterisk/hashtab.h index f40324b39..094254a68 100644 --- a/include/asterisk/hashtab.h +++ b/include/asterisk/hashtab.h @@ -175,7 +175,7 @@ void ast_hashtab_destroy( struct ast_hashtab *tab, void (*objdestroyfunc)(void * 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 @@ -194,7 +194,7 @@ void * ast_hashtab_lookup_with_hash(struct ast_hashtab *tab, const void *obj, un /* 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); diff --git a/main/hashtab.c b/main/hashtab.c index 7c4adf886..1e4685761 100644 --- a/main/hashtab.c +++ b/main/hashtab.c @@ -246,7 +246,7 @@ struct ast_hashtab * ast_hashtab_create(int initial_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; @@ -416,7 +416,7 @@ int ast_hashtab_insert_immediate(struct ast_hashtab *tab, const void *obj) 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 @@ -456,7 +456,7 @@ int ast_hashtab_insert_safe(struct ast_hashtab *tab, const void *obj) 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); @@ -525,7 +525,7 @@ void * ast_hashtab_lookup_with_hash(struct ast_hashtab *tab, const void *obj, un 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; |