diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-12-30 17:41:42 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-02-18 17:16:05 -0500 |
commit | 6ff444c4184433586a8879376bd5006eb793499a (patch) | |
tree | ddd8975f63a62bcc9ebaeb9d6ec4c715743cd029 | |
parent | 4bf6b9dd8ee267cf7b9cd256107624b10f051d0b (diff) | |
download | glibc-6ff444c4184433586a8879376bd5006eb793499a.tar.gz glibc-6ff444c4184433586a8879376bd5006eb793499a.tar.xz glibc-6ff444c4184433586a8879376bd5006eb793499a.zip |
unify xmalloc prototypes & friends
These prototypes are duplicated in many places. Add a dedicated header for holding prototypes for program-specific functions to avoid that. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | catgets/gencat.c | 8 | ||||
-rw-r--r-- | elf/pldd.c | 5 | ||||
-rw-r--r-- | iconv/iconv_charmap.c | 5 | ||||
-rw-r--r-- | iconv/iconvconfig.c | 7 | ||||
-rw-r--r-- | iconv/strtab.c | 3 | ||||
-rw-r--r-- | include/programs/xmalloc.h | 33 | ||||
-rw-r--r-- | locale/programs/locale.c | 5 | ||||
-rw-r--r-- | locale/programs/localedef.h | 8 | ||||
-rw-r--r-- | locale/programs/simple-hash.c | 5 | ||||
-rw-r--r-- | nscd/nscd.h | 7 | ||||
-rw-r--r-- | nss/makedb.c | 5 | ||||
-rw-r--r-- | sysdeps/generic/ldconfig.h | 8 |
13 files changed, 60 insertions, 55 deletions
diff --git a/ChangeLog b/ChangeLog index 44e6955fbe..3767bf1dee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2013-02-18 Mike Frysinger <vapier@gentoo.org> + + * include/programs/xmalloc.h: New file. + * catgets/gencat.c: Include it. + (xmalloc, xcalloc, xrealloc, xstrdup): Don't declare them. + * elf/pldd.c: Likewise. + * iconv/iconv_charmap.c: Likewise. + * iconv/iconvconfig.c: Likewise. + * iconv/strtab.c: Likewise. + * locale/programs/locale.c: Likewise. + * locale/programs/localedef.h: Likewise. + * locale/programs/simple-hash.c: Likewise. + * nscd/nscd.h: Likewise. + * nss/makedb.c: Likewise. + * sysdeps/generic/ldconfig.h: Likewise. + 2013-02-18 Siddhesh Poyarekar <siddhesh@redhat.com> * Versions.def: Add GLIBC_2.18. diff --git a/catgets/gencat.c b/catgets/gencat.c index 4db52ceb2b..ae0a643ac0 100644 --- a/catgets/gencat.c +++ b/catgets/gencat.c @@ -137,13 +137,7 @@ static struct argp argp = /* Wrapper functions with error checking for standard functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); -extern char *xstrdup (const char *) __attribute_malloc__; +#include <programs/xmalloc.h> /* Prototypes for local functions. */ static void error_print (void); diff --git a/elf/pldd.c b/elf/pldd.c index b09252d39c..d9388a19c2 100644 --- a/elf/pldd.c +++ b/elf/pldd.c @@ -43,10 +43,7 @@ extern char *program_invocation_short_name; #define PACKAGE _libc_intl_domainname /* External functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); +#include <programs/xmalloc.h> /* Name and version of program. */ static void print_version (FILE *stream, struct argp_state *state); diff --git a/iconv/iconv_charmap.c b/iconv/iconv_charmap.c index 7a4067b811..b1a0610976 100644 --- a/iconv/iconv_charmap.c +++ b/iconv/iconv_charmap.c @@ -32,10 +32,7 @@ /* Prototypes for a few program-wide used functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); +#include <programs/xmalloc.h> struct convtable diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c index 318c917e92..677620b963 100644 --- a/iconv/iconvconfig.c +++ b/iconv/iconvconfig.c @@ -247,12 +247,7 @@ static struct static const char gconv_module_ext[] = MODULE_EXT; -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); +#include <programs/xmalloc.h> /* C string table handling. */ diff --git a/iconv/strtab.c b/iconv/strtab.c index 7160ac88a5..c62553e2e0 100644 --- a/iconv/strtab.c +++ b/iconv/strtab.c @@ -65,8 +65,7 @@ struct Strtab static size_t ps; -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); +#include <programs/xmalloc.h> /* Prototypes for our functions that are used from iconvconfig.c. If you change these, change also iconvconfig.c. */ diff --git a/include/programs/xmalloc.h b/include/programs/xmalloc.h new file mode 100644 index 0000000000..7f3aba5f37 --- /dev/null +++ b/include/programs/xmalloc.h @@ -0,0 +1,33 @@ +/* Memory related definitions for program modules. + Copyright (C) 1998-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 the Free Software Foundation; version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <http://www.gnu.org/licenses/>. */ + +#ifndef _XMALLOC_H +#define _XMALLOC_H 1 + +#include <sys/cdefs.h> +#include <stddef.h> + +/* Prototypes for a few program-wide used functions. */ +extern void *xmalloc (size_t n) + __attribute_malloc__ __attribute_alloc_size (1); +extern void *xcalloc (size_t n, size_t s) + __attribute_malloc__ __attribute_alloc_size (1, 2); +extern void *xrealloc (void *o, size_t n) + __attribute_malloc__ __attribute_alloc_size (2); +extern char *xstrdup (const char *) __attribute_malloc__; + +#endif /* xmalloc.h */ diff --git a/locale/programs/locale.c b/locale/programs/locale.c index 13e5234954..8dc528c115 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -42,10 +42,7 @@ #include "localeinfo.h" #include "charmap-dir.h" #include "../locarchive.h" - -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern char *xstrdup (const char *) __attribute_malloc__; +#include <programs/xmalloc.h> #define ARCHIVE_NAME LOCALEDIR "/locale-archive" diff --git a/locale/programs/localedef.h b/locale/programs/localedef.h index 7ca65c6639..e010c72983 100644 --- a/locale/programs/localedef.h +++ b/locale/programs/localedef.h @@ -120,13 +120,7 @@ extern const char *alias_file; /* Prototypes for a few program-wide used functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); -extern char *xstrdup (const char *) __attribute_malloc__; +#include <programs/xmalloc.h> /* Wrapper to switch LC_CTYPE back to the locale specified in the diff --git a/locale/programs/simple-hash.c b/locale/programs/simple-hash.c index 530ba724e8..d65b6fb3f0 100644 --- a/locale/programs/simple-hash.c +++ b/locale/programs/simple-hash.c @@ -52,10 +52,7 @@ #define hashval_t uint32_t #include "hashval.h" -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); +#include <programs/xmalloc.h> typedef struct hash_entry { diff --git a/nscd/nscd.h b/nscd/nscd.h index 46d0433286..cbd402a958 100644 --- a/nscd/nscd.h +++ b/nscd/nscd.h @@ -200,12 +200,7 @@ extern gid_t old_gid; /* Prototypes for global functions. */ /* Wrapper functions with error checking for standard functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); +#include <programs/xmalloc.h> /* nscd.c */ extern void termination_handler (int signum) __attribute__ ((__noreturn__)); diff --git a/nss/makedb.c b/nss/makedb.c index d4a19b3597..13bd8461d4 100644 --- a/nss/makedb.c +++ b/nss/makedb.c @@ -173,10 +173,7 @@ static void reset_file_creation_context (void); /* External functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); +#include <programs/xmalloc.h> int diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h index 91190aa0cd..ca3f0e430f 100644 --- a/sysdeps/generic/ldconfig.h +++ b/sysdeps/generic/ldconfig.h @@ -84,12 +84,6 @@ extern int opt_verbose; extern int opt_format; /* Prototypes for a few program-wide used functions. */ -extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); -extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); -extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); -extern char *xstrdup (const char *) __attribute_malloc__; +#include <programs/xmalloc.h> #endif /* ! _LDCONFIG_H */ |