X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fxmalloc.c;h=3adf5dda88f1c4f74683d2860d9d2e283775c8c7;hb=265465e1145409720be48d30b6277a59151d293a;hp=b39705f96a548d026181f43cfac8bf5e15131b14;hpb=40c60144c35ecf0ec6c7bb72c6fc08df98cb4e09;p=gnulib.git diff --git a/lib/xmalloc.c b/lib/xmalloc.c index b39705f96..3adf5dda8 100644 --- a/lib/xmalloc.c +++ b/lib/xmalloc.c @@ -1,5 +1,7 @@ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990-1997, 98, 1999, 2000 Free Software Foundation, Inc. + + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2002, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,58 +21,41 @@ # include #endif -#include +#include "xalloc.h" -#if STDC_HEADERS -# include -#else -void *calloc (); -void *malloc (); -void *realloc (); -void free (); -#endif +#include -#if ENABLE_NLS -# include -# define _(Text) gettext (Text) -#else -# define textdomain(Domain) -# define _(Text) Text -#endif -#define N_(Text) Text +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid #include "error.h" -#include "xalloc.h" +#include "exit.h" +#include "exitfail.h" -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -#endif +/* The following tests require AC_PREREQ(2.54). */ -#ifndef HAVE_DONE_WORKING_MALLOC_CHECK -you must run the autoconf test for a properly working malloc -- see malloc.m4 +#ifndef HAVE_MALLOC +"you must run the autoconf test for a GNU libc compatible malloc" #endif -#ifndef HAVE_DONE_WORKING_REALLOC_CHECK -you must run the autoconf test for a properly working realloc -- see realloc.m4 +#ifndef HAVE_REALLOC +"you must run the autoconf test for a GNU libc compatible realloc" #endif -/* Exit value when the requested amount of memory is not available. - The caller may set it to some other value. */ -int xalloc_exit_failure = EXIT_FAILURE; - /* If non NULL, call this function when memory is exhausted. */ -void (*xalloc_fail_func) PARAMS ((void)) = 0; +void (*xalloc_fail_func) (void) = 0; /* If XALLOC_FAIL_FUNC is NULL, or does return, display this message before exiting when memory is exhausted. Goes through gettext. */ -char *const xalloc_msg_memory_exhausted = N_("virtual memory exhausted"); +char const xalloc_msg_memory_exhausted[] = N_("memory exhausted"); void xalloc_die (void) { if (xalloc_fail_func) (*xalloc_fail_func) (); - error (xalloc_exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted)); + error (exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted)); /* The `noreturn' cannot be given to error, since it may return if its first argument is 0. To help compilers understand the xalloc_die does terminate, call exit. */ @@ -91,8 +76,7 @@ xmalloc (size_t n) } /* Change the size of an allocated block of memory P to N bytes, - with error checking. - If P is NULL, run xmalloc. */ + with error checking. */ void * xrealloc (void *p, size_t n)