From 6f5e97aca6af373a074c83eccd4d4f21b661d307 Mon Sep 17 00:00:00 2001 Message-Id: <6f5e97aca6af373a074c83eccd4d4f21b661d307.1715643007.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 21 Jan 2001 19:04:59 +0000 Subject: [PATCH] Fix bugs. Organization: Straylight/Edgeware From: mdw --- assoc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assoc.c b/assoc.c index 26fe2c9..6779bc8 100644 --- a/assoc.c +++ b/assoc.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: assoc.c,v 1.1 2001/01/20 11:50:58 mdw Exp $ + * $Id: assoc.c,v 1.2 2001/01/21 19:04:59 mdw Exp $ * * Assocation tables * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: assoc.c,v $ + * Revision 1.2 2001/01/21 19:04:59 mdw + * Fix bugs. + * * Revision 1.1 2001/01/20 11:50:58 mdw * Hash tables indexed by atoms, to avoid expense of hashing keys on each * lookup, and to reduce storage used by key texts. @@ -77,6 +80,8 @@ void assoc_destroy(assoc_table *t) for (;;) { hash_base *p; HASH_NEXT(&i, p); + if (!p) + break; x_free(t->t.a, p); } hash_destroy(&t->t); @@ -127,6 +132,7 @@ void *assoc_find(assoc_table *t, atom *a, size_t sz, unsigned *f) /* --- Make a new assoication --- */ q = x_alloc(t->t.a, sz); + q->a = a; q->b.next = *bin; q->b.hash = ATOM_HASH(a); *bin = &q->b; -- [mdw]