#include "cpplib.h"
#include "cpphash.h"
-extern char *xmalloc PARAMS ((unsigned));
+//extern char *xmalloc PARAMS ((unsigned));
+
+#include "newalloc.h"
+
+#include <string.h>
+#include <stdlib.h>
/* Define a generic NULL if one hasn't already been defined. */
#define volatile
#endif
+static HASHNODE *hashtab[HASHSIZE];
+
/*
* return hash function on name. must be compatible with the one
* computed a step at a time, elsewhere
for (ap = d->pattern; ap != NULL; ap = nextap)
{
nextap = ap->next;
- free (ap);
+ Safe_free (ap);
}
if (d->nargs >= 0)
- free (d->args.argnames);
- free (d);
+ Safe_free (d->args.argnames);
+ Safe_free (d);
}
- free (hp);
+ Safe_free (hp);
}
/*
* install a name in the main hash table, even if it is already there.
hash = hashf (name, len, HASHSIZE);
i = sizeof (HASHNODE) + len + 1;
- hp = (HASHNODE *) xmalloc (i);
+ hp = (HASHNODE *) Safe_malloc (i);
bucket = hash;
hp->bucket_hdr = &hashtab[bucket];
hp->next = hashtab[bucket];