From ec09c1c410d40386ec3e5d2d82fc5c378b4b2681 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 8 Jan 2012 21:19:43 -0500 Subject: Optimize xmalloc, xcalloc, xrealloc, and xstrdup Add alloc_size attribute and apply consistently the malloc attribute to xmalloc, xcalloc, xrealloc, and xstrdup. --- iconv/iconv_charmap.c | 8 +++++--- iconv/iconvconfig.c | 9 ++++++--- iconv/strtab.c | 5 +++-- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'iconv') diff --git a/iconv/iconv_charmap.c b/iconv/iconv_charmap.c index d128111..09bfa92 100644 --- a/iconv/iconv_charmap.c +++ b/iconv/iconv_charmap.c @@ -1,5 +1,5 @@ /* Convert using charmaps and possibly iconv(). - Copyright (C) 2001, 2005, 2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2006, 2008, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -33,8 +33,10 @@ /* Prototypes for a few program-wide used functions. */ -extern void *xmalloc (size_t __n); -extern void *xcalloc (size_t __n, size_t __s); +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); struct convtable diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c index afcea94..9738ed8 100644 --- a/iconv/iconvconfig.c +++ b/iconv/iconvconfig.c @@ -248,9 +248,12 @@ static struct static const char gconv_module_ext[] = MODULE_EXT; -extern void *xmalloc (size_t n) __attribute_malloc__; -extern void *xcalloc (size_t n, size_t m) __attribute_malloc__; -extern void *xrealloc (void *p, size_t n); +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); /* C string table handling. */ diff --git a/iconv/strtab.c b/iconv/strtab.c index 4a8f29a..37b9077 100644 --- a/iconv/strtab.c +++ b/iconv/strtab.c @@ -1,5 +1,5 @@ /* C string table handling. - Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2005, 2012 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify @@ -66,7 +66,8 @@ struct Strtab static size_t ps; -extern void *xmalloc (size_t n) __attribute_malloc__; +extern void *xmalloc (size_t n) + __attribute_malloc__ __attribute_alloc_size (1); /* Prototypes for our functions that are used from iconvconfig.c. If you change these, change also iconvconfig.c. */ -- cgit v1.1