hashalloc.c revision 7c2fbfb345896881c631598ee3852ce9ce33fb07
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2008 AT&T Intellectual Property *
* and is licensed under the *
* Common Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* Glenn Fowler
* AT&T Research
*
* hash table library
*/
static const char id_hash[] = "\n@(#)$Id: hash (AT&T Research) 1996-08-11 $\0\n";
#include "hashlib.h"
Hash_info_t hash_info = { 0 };
/*
* create a new hash table
*/
{
register Hash_table_t* tab;
register Hash_table_t* ret = 0;
register int internal;
int n;
Hash_region_f region = 0;
void* handle;
/*
* check for HASH_region which must be first
*/
if (!ref && n == HASH_region)
{
goto out;
}
goto out;
if (ref)
{
}
else
{
if (region)
{
goto out;
}
goto out;
goto out;
internal = 0;
}
for (;;)
{
switch (n)
{
case HASH_alloc:
break;
case HASH_bucketsize:
break;
case HASH_clear:
break;
case HASH_compare:
break;
case HASH_free:
break;
case HASH_hash:
break;
case HASH_meanchain:
break;
case HASH_name:
break;
case HASH_namesize:
break;
case HASH_region:
goto out;
case HASH_set:
break;
case HASH_size:
break;
case HASH_table:
break;
case HASH_va_list:
{
vp++;
}
break;
case 0:
{
vp--;
break;
}
{
}
{
if (region)
{
goto out;
}
}
if (!ref)
{
}
if (!region)
{
}
goto out;
default:
goto out;
}
}
out:
return(ret);
}