/* hash - hashing table processing.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
Written by Jim Meyering, 1992.
This program is free software; you can redistribute it and/or modify
#include <stdio.h>
#include <assert.h>
+#ifndef HAVE_DECL_FREE
+"this configure-time declaration test was not run"
+#endif
#if !HAVE_DECL_FREE
void free ();
#endif
+
+#ifndef HAVE_DECL_MALLOC
+"this configure-time declaration test was not run"
+#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
if (bucket->data == NULL)
return NULL;
- /* Check if then entry is found as the bucket head. */
+ /* See if the entry is the first in the bucket. */
if ((*table->comparator) (entry, bucket->data))
{
void *data = bucket->data;
table->bucket_limit = new_table->bucket_limit;
table->n_buckets = new_table->n_buckets;
table->n_buckets_used = new_table->n_buckets_used;
+ table->free_entry_list = new_table->free_entry_list;
/* table->n_entries already holds its value. */
#if USE_OBSTACK
table->entry_stack = new_table->entry_stack;
void *data;
struct hash_entry *bucket;
- if (data = hash_find_entry (table, entry, &bucket, true), !data)
+ data = hash_find_entry (table, entry, &bucket, true);
+ if (!data)
return NULL;
table->n_entries--;