[asterisk-commits] murf: trunk r89196 - in /trunk: include/asterisk/hashtab.h main/hashtab.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Nov 12 14:49:27 CST 2007


Author: murf
Date: Mon Nov 12 14:49:27 2007
New Revision: 89196

URL: http://svn.digium.com/view/asterisk?view=rev&rev=89196
Log:
Thanks to snuff-work, who brought up that these fixes might need to be made.

Modified:
    trunk/include/asterisk/hashtab.h
    trunk/main/hashtab.c

Modified: trunk/include/asterisk/hashtab.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/hashtab.h?view=diff&rev=89196&r1=89195&r2=89196
==============================================================================
--- trunk/include/asterisk/hashtab.h (original)
+++ trunk/include/asterisk/hashtab.h Mon Nov 12 14:49:27 2007
@@ -175,7 +175,7 @@
 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 @@
 
 	/* 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);

Modified: trunk/main/hashtab.c
URL: http://svn.digium.com/view/asterisk/trunk/main/hashtab.c?view=diff&rev=89196&r1=89195&r2=89196
==============================================================================
--- trunk/main/hashtab.c (original)
+++ trunk/main/hashtab.c Mon Nov 12 14:49:27 2007
@@ -246,7 +246,7 @@
 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 @@
 	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 @@
 	   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 @@
 	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;




More information about the asterisk-commits mailing list