/*
 * X.c
 *
 * local hacks to X library.
 *
 */

#include "XlibInternal.h"


static	int number;
static	XAssoc *bucket;
static	XAssoc *entry;

caddr_t	XNextAssoc();

caddr_t
XFirstAssoc(table)
	register XAssocTable *table;
{
	number = 0;
	entry = 0;
	return XNextAssoc(table);
}

caddr_t
XNextAssoc(table)
	register XAssocTable *table;
{
	XAssoc	*ret;

	for ( ; number < table->size; number++) {
		bucket = &table->buckets[number];
		if (entry == 0)
			entry = bucket->next;
		for ( ; entry != bucket; entry = entry->next) {
			ret = entry;
			entry = entry->next;
			return ret->data;
		}
		entry = 0;
	}
	return 0;
}
