2001-01-09 Alexandre Oliva <aoliva@redhat.com>
+ * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
+ macro_buffer_len.
+ * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
+ realloc()ing macro_buffer.
+
* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
if it's wider than long and the target's long is wider than the
host's.
cpp_pop_buffer (pfile);
if (pfile->macro_buffer)
- free ((PTR) pfile->macro_buffer);
+ {
+ free ((PTR) pfile->macro_buffer);
+ pfile->macro_buffer = NULL;
+ pfile->macro_buffer_len = 0;
+ }
deps_free (pfile->deps);
/* Part of CPP library. (Macro and #define handling.)
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
- 1999, 2000 Free Software Foundation, Inc.
+ 1999, 2000, 2001 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
}
if (len > pfile->macro_buffer_len)
- pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
+ {
+ pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
+ pfile->macro_buffer_len = len;
+ }
buffer = pfile->macro_buffer;
/* Parameter names. */