X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fxalloc.h;h=098a6c2e0730aaccda487400d1d51893257452f2;hb=9a3aebb793224b17196fc77d6cb203a41a5c1905;hp=f75c3cdd7848d913af95966392ccce355f1f8435;hpb=9d67945fdbdd4afc1ef1be5d68ace53aba73fa34;p=gnulib.git diff --git a/lib/xalloc.h b/lib/xalloc.h index f75c3cdd7..098a6c2e0 100644 --- a/lib/xalloc.h +++ b/lib/xalloc.h @@ -1,5 +1,5 @@ /* xalloc.h -- malloc with out-of-memory checking - Copyright (C) 1990-1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 1999, 2000 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 @@ -26,8 +26,10 @@ # endif # endif -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __attribute__(x) +# ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ +# define __attribute__(x) +# endif # endif # ifndef ATTRIBUTE_NORETURN @@ -44,9 +46,9 @@ extern int xalloc_exit_failure; extern void (*xalloc_fail_func) PARAMS ((void)); /* If XALLOC_FAIL_FUNC is undefined or a function that returns, this - message must be non-NULL. It is translated via gettext. - The default value is "Memory exhausted". */ -extern char *const xalloc_msg_memory_exhausted; + message is output. It is translated via gettext. + Its value is "memory exhausted". */ +extern char const xalloc_msg_memory_exhausted[]; /* This function is always triggered when memory is exhausted. It is in charge of honoring the three previous items. This is the @@ -59,10 +61,10 @@ void *xcalloc PARAMS ((size_t n, size_t s)); void *xrealloc PARAMS ((void *p, size_t n)); char *xstrdup PARAMS ((const char *str)); -# define XMALLOC(Type, N_bytes) ((Type *) xmalloc (sizeof (Type) * (N_bytes))) -# define XCALLOC(Type, N_bytes) ((Type *) xcalloc (sizeof (Type), (N_bytes))) -# define XREALLOC(Ptr, Type, N_bytes) \ - ((Type *) xrealloc ((void *) (Ptr), sizeof (Type) * (N_bytes))) +# define XMALLOC(Type, N_items) ((Type *) xmalloc (sizeof (Type) * (N_items))) +# define XCALLOC(Type, N_items) ((Type *) xcalloc (sizeof (Type), (N_items))) +# define XREALLOC(Ptr, Type, N_items) \ + ((Type *) xrealloc ((void *) (Ptr), sizeof (Type) * (N_items))) /* Declare and alloc memory for VAR of type TYPE. */ # define NEW(Type, Var) Type *(Var) = XMALLOC (Type, 1)