From: Mike Frysinger Date: Sun, 30 Dec 2012 22:41:42 +0000 (-0500) Subject: unify xmalloc prototypes & friends X-Git-Tag: glibc-2.18~688 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ff444c4184433586a8879376bd5006eb793499a;p=thirdparty%2Fglibc.git 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 --- diff --git a/ChangeLog b/ChangeLog index 44e6955fbe9..3767bf1dee6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2013-02-18 Mike Frysinger + + * 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 * Versions.def: Add GLIBC_2.18. diff --git a/catgets/gencat.c b/catgets/gencat.c index 4db52ceb2b4..ae0a643ac0a 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 /* Prototypes for local functions. */ static void error_print (void); diff --git a/elf/pldd.c b/elf/pldd.c index b09252d39cb..d9388a19c23 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 /* 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 7a4067b8111..b1a06109767 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 struct convtable diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c index 318c917e920..677620b9631 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 /* C string table handling. */ diff --git a/iconv/strtab.c b/iconv/strtab.c index 7160ac88a50..c62553e2e0c 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 /* 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 00000000000..7f3aba5f37d --- /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 . */ + +#ifndef _XMALLOC_H +#define _XMALLOC_H 1 + +#include +#include + +/* 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 13e52349541..8dc528c1156 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 #define ARCHIVE_NAME LOCALEDIR "/locale-archive" diff --git a/locale/programs/localedef.h b/locale/programs/localedef.h index 7ca65c66390..e010c72983e 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 /* 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 530ba724e87..d65b6fb3f0a 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 typedef struct hash_entry { diff --git a/nscd/nscd.h b/nscd/nscd.h index 46d04332861..cbd402a9583 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 /* nscd.c */ extern void termination_handler (int signum) __attribute__ ((__noreturn__)); diff --git a/nss/makedb.c b/nss/makedb.c index d4a19b3597c..13bd8461d4c 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 int diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h index 91190aa0cd4..ca3f0e430f9 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 #endif /* ! _LDCONFIG_H */