* aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.

(AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
* configure.in: Call AC_C_INLINE and AC_C_CONST.  Use three
argument form of AC_DEFINE in dummy definitions block.  Use
AC_DEFINE_NOAUTOHEADER for real definitions of things defined
in dummy block.  Preload cache variables instead of bypassing
tests, where possible.
* acconfig.h: Removed.
* xmalloc.c (xmalloc_failed): New function, does error
reporting on failed allocation.
(xmalloc, xcalloc, xrealloc): Use it.
This commit is contained in:
DJ Delorie
2000-11-29 19:17:37 +00:00
parent 2c67cb8b7a
commit 2ea7befd8e
5 changed files with 104 additions and 123 deletions

View File

@@ -64,6 +64,31 @@ xmalloc_set_program_name (s)
#endif /* HAVE_SBRK */
}
void
xmalloc_failed (size)
size_t size;
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
PTR
xmalloc (size)
size_t size;
@@ -74,27 +99,8 @@ xmalloc (size)
size = 1;
newmem = malloc (size);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (size);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}
@@ -109,27 +115,8 @@ xcalloc (nelem, elsize)
newmem = calloc (nelem, elsize);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (nelem * elsize);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) (nelem * elsize), (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) (nelem * elsize));
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}
@@ -147,26 +134,7 @@ xrealloc (oldmem, size)
else
newmem = realloc (oldmem, size);
if (!newmem)
{
#ifdef HAVE_SBRK
extern char **environ;
size_t allocated;
xmalloc_failed (size);
if (first_break != NULL)
allocated = (char *) sbrk (0) - first_break;
else
allocated = (char *) sbrk (0) - (char *) &environ;
fprintf (stderr,
"\n%s%sCannot reallocate %lu bytes after allocating %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size, (unsigned long) allocated);
#else /* HAVE_SBRK */
fprintf (stderr,
"\n%s%sCannot reallocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* HAVE_SBRK */
xexit (1);
}
return (newmem);
}