projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update or remove references to gettext release.
[gnulib.git]
/
lib
/
xalloc.h
diff --git
a/lib/xalloc.h
b/lib/xalloc.h
index
9c40d72
..
57a13e0
100644
(file)
--- a/
lib/xalloc.h
+++ b/
lib/xalloc.h
@@
-1,7
+1,7
@@
/* xalloc.h -- malloc with out-of-memory checking
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
/* xalloc.h -- malloc with out-of-memory checking
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+ 1999, 2000, 2003, 2004, 2006, 2007
, 2008
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
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
@@
-28,7
+28,7
@@
extern "C" {
# ifndef __attribute__
# ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
|| __STRICT_ANSI__
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
# define __attribute__(x)
# endif
# endif
# define __attribute__(x)
# endif
# endif
@@
-37,6
+37,14
@@
extern "C" {
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
# endif
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
# endif
+# ifndef ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3
+# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define ATTRIBUTE_MALLOC
+# endif
+# endif
+
/* This function is always triggered when memory is exhausted.
It must be defined by the application, either explicitly
or by using gnulib's xalloc-die module. This is the
/* This function is always triggered when memory is exhausted.
It must be defined by the application, either explicitly
or by using gnulib's xalloc-die module. This is the
@@
-44,13
+52,13
@@
extern "C" {
memory allocation failure. */
extern void xalloc_die (void) ATTRIBUTE_NORETURN;
memory allocation failure. */
extern void xalloc_die (void) ATTRIBUTE_NORETURN;
-void *xmalloc (size_t s);
-void *xzalloc (size_t s);
-void *xcalloc (size_t n, size_t s);
+void *xmalloc (size_t s)
ATTRIBUTE_MALLOC
;
+void *xzalloc (size_t s)
ATTRIBUTE_MALLOC
;
+void *xcalloc (size_t n, size_t s)
ATTRIBUTE_MALLOC
;
void *xrealloc (void *p, size_t s);
void *x2realloc (void *p, size_t *pn);
void *xrealloc (void *p, size_t s);
void *x2realloc (void *p, size_t *pn);
-void *xmemdup (void const *p, size_t s);
-char *xstrdup (char const *str);
+void *xmemdup (void const *p, size_t s)
ATTRIBUTE_MALLOC
;
+char *xstrdup (char const *str)
ATTRIBUTE_MALLOC
;
/* Return 1 if an array of N objects, each of size S, cannot exist due
to size arithmetic overflow. S must be positive and N must be
/* Return 1 if an array of N objects, each of size S, cannot exist due
to size arithmetic overflow. S must be positive and N must be
@@
-97,10
+105,10
@@
char *xstrdup (char const *str);
# if HAVE_INLINE
# define static_inline static inline
# else
# if HAVE_INLINE
# define static_inline static inline
# else
- void *xnmalloc (size_t n, size_t s);
+ void *xnmalloc (size_t n, size_t s)
ATTRIBUTE_MALLOC
;
void *xnrealloc (void *p, size_t n, size_t s);
void *x2nrealloc (void *p, size_t *pn, size_t s);
void *xnrealloc (void *p, size_t n, size_t s);
void *x2nrealloc (void *p, size_t *pn, size_t s);
- char *xcharalloc (size_t n);
+ char *xcharalloc (size_t n)
ATTRIBUTE_MALLOC
;
# endif
# ifdef static_inline
# endif
# ifdef static_inline
@@
-108,6
+116,7
@@
char *xstrdup (char const *str);
/* Allocate an array of N objects, each with S bytes of memory,
dynamically, with error checking. S must be nonzero. */
/* Allocate an array of N objects, each with S bytes of memory,
dynamically, with error checking. S must be nonzero. */
+static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
static_inline void *
xnmalloc (size_t n, size_t s)
{
static_inline void *
xnmalloc (size_t n, size_t s)
{
@@
-219,6
+228,7
@@
x2nrealloc (void *p, size_t *pn, size_t s)
/* Return a pointer to a new buffer of N bytes. This is like xmalloc,
except it returns char *. */
/* Return a pointer to a new buffer of N bytes. This is like xmalloc,
except it returns char *. */
+static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
static_inline char *
xcharalloc (size_t n)
{
static_inline char *
xcharalloc (size_t n)
{