X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Fhash.h;fp=lib-lib%2Fhash.h;h=546b665e9e59ef5548d8099b1f1c2327e75c1c8c;hp=3fdba2142b77b2829542dfc3e78999af440ad55e;hb=51239e43fd4a3c2440b4574379e8525d75646b3e;hpb=a26f3db04e4acf1ed8ac5711eae58ddeeebb3b15 diff --git a/lib-lib/hash.h b/lib-lib/hash.h index 3fdba21..546b665 100644 --- a/lib-lib/hash.h +++ b/lib-lib/hash.h @@ -32,7 +32,9 @@ struct hash_elem { }; typedef struct { - int nelem, curnelem; + unsigned dupes : 1; + int nelem; + int curnelem; struct hash_elem **table; } HASH; @@ -42,10 +44,10 @@ typedef struct { #define hash_delete(table,key,data,destroy) \ hash_delete_hash(table, hash_string((unsigned char *)key, table->nelem), key, data, destroy) -HASH *hash_create(int nelem); +HASH *hash_create(int nelem, int allow_dup); int hash_string(const unsigned char *s, int n); -int hash_insert(HASH *table, const char *key, void *data, int allow_dup); -HASH *hash_resize(HASH *table, int nelem); +int hash_insert(HASH *table, const char *key, void *data); +void hash_resize(HASH *table, int nelem); void *hash_find_hash(const HASH *table, int hash, const char *key); void hash_delete_hash(HASH *table, int hash, const char *key, const void *data, void (*destroy)(void *));