# HG changeset patch # User Jim Meyering # Date 874784309 0 # Node ID b12d8086ca7a6cf22eb7b8a58af32d97265ccd72 # Parent b24d08ec1fa3e88de6bb85eceefdfd3ed1dd884f (ZALLOC): Take Ht parameter instead of relying on one being in scope. diff --git a/lib/hash.c b/lib/hash.c --- a/lib/hash.c +++ b/lib/hash.c @@ -1,12 +1,4 @@ -/* Global assumptions: - - ANSI C - - a certain amount of library support, at least - - C ints are at least 32-bits long - */ - -/* Things to do: - - add a sample do_all function for listing the hash table. - */ +/* A generic hash table package. */ #include #include @@ -15,11 +7,9 @@ #include "hash.h" #ifdef USE_OBSTACK -/* This macro assumes that there is an HT with an initialized - HT_OBSTACK in scope. */ -# define ZALLOC(n) obstack_alloc (&(ht->ht_obstack), (n)) +# define ZALLOC(Ht, N) obstack_alloc (&(ht->ht_obstack), (N)) #else -# define ZALLOC(n) malloc ((n)) +# define ZALLOC(Ht, N) malloc ((N)) #endif #define BUCKET_HEAD(ht, idx) ((ht)->hash_table[(idx)]) @@ -78,7 +68,7 @@ } else { - new = (HASH_ENT *) ZALLOC (sizeof (HASH_ENT)); + new = (HASH_ENT *) ZALLOC (ht, sizeof (HASH_ENT)); } return new; }