Use the more standard files xalloc.h' and xmalloc.c' instead of

Bison's `allocate.c' and `alloc.h'.  This patch was surprisingly
difficult and introduced a lot of core dump.  It turns out that
Bison used an implementation of `xmalloc' based on `calloc', and
at various places it does depend upon the initialization to 0.  I
have not tried to isolate the pertinent places, and all the former
calls to Bison's `xmalloc' are now using `XCALLOC'.  Someday,
someone should address this issue.
* src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
* lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
files.
Adjust dependencies.
* src/warshall.h: New file.
Propagate.
This commit is contained in:
Akim Demaille
2000-10-02 08:48:32 +00:00
parent 340ef48922
commit d7913476c4
28 changed files with 593 additions and 438 deletions

View File

@@ -24,7 +24,7 @@
#include "getopt.h" /* for optarg */
#include "symtab.h"
#include "lex.h"
#include "alloc.h"
#include "xalloc.h"
#include "complain.h"
#include "gram.h"
@@ -48,7 +48,7 @@ void
init_lex (void)
{
maxtoken = 100;
token_buffer = NEW2 (maxtoken + 1, char);
token_buffer = XCALLOC (char, maxtoken + 1);
unlexed = -1;
}
@@ -58,7 +58,7 @@ grow_token_buffer (char *p)
{
int offset = p - token_buffer;
maxtoken *= 2;
token_buffer = (char *) xrealloc (token_buffer, maxtoken + 1);
token_buffer = XREALLOC (token_buffer, char, maxtoken + 1);
return token_buffer + offset;
}