Files
heimdal/lib/asn1/symbol.c
Johan Danielsson 58a1a30397 Remove unused variable.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1870 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-06-09 22:38:12 +00:00

58 lines
784 B
C

#include "asn1_locl.h"
RCSID("$Id$");
static Hashtab *htab;
static int
cmp (void *a, void *b)
{
Symbol *s1 = (Symbol *)a;
Symbol *s2 = (Symbol *)b;
return strcmp (s1->name, s2->name);
}
static unsigned
hash (void *a)
{
Symbol *s = (Symbol *)a;
return hashjpw (s->name);
}
void
initsym ()
{
htab = hashtabnew (101, cmp, hash);
}
void
output_name (char *s)
{
char *p;
for (p = s; *p; ++p)
if (*p == '-')
*p = '_';
}
Symbol*
addsym (char *name)
{
Symbol key, *s;
key.name = name;
s = (Symbol *)hashtabsearch (htab, (void *)&key);
if (s == NULL) {
s = (Symbol *)malloc (sizeof (*s));
s->name = name;
s->gen_name = strdup(name);
output_name (s->gen_name);
s->stype = SUndefined;
hashtabadd (htab, s);
}
return s;
}