use gcc malloc attribute macros for internal functions, too

This commit is contained in:
Lennart Poettering 2008-09-01 21:44:00 +02:00
parent 5467cc390d
commit 2c2b2717eb
2 changed files with 10 additions and 4 deletions

View file

@ -46,7 +46,7 @@
static void oom(void) PA_GCC_NORETURN; static void oom(void) PA_GCC_NORETURN;
/** called in case of an OOM situation. Prints an error message and /* called in case of an OOM situation. Prints an error message and
* exits */ * exits */
static void oom(void) { static void oom(void) {
static const char e[] = "Not enough memory\n"; static const char e[] = "Not enough memory\n";

View file

@ -58,7 +58,9 @@ char *pa_xstrndup(const char *s, size_t l) PA_GCC_MALLOC;
void* pa_xmemdup(const void *p, size_t l) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE(2); void* pa_xmemdup(const void *p, size_t l) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE(2);
/** Internal helper for pa_xnew() */ /** Internal helper for pa_xnew() */
static inline void* _pa_xnew_internal(unsigned n, size_t k) { static void* _pa_xnew_internal(size_t n, size_t k) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE2(1,2);
static inline void* _pa_xnew_internal(size_t n, size_t k) {
assert(n < INT_MAX/k); assert(n < INT_MAX/k);
return pa_xmalloc(n*k); return pa_xmalloc(n*k);
} }
@ -67,7 +69,9 @@ static inline void* _pa_xnew_internal(unsigned n, size_t k) {
#define pa_xnew(type, n) ((type*) _pa_xnew_internal((n), sizeof(type))) #define pa_xnew(type, n) ((type*) _pa_xnew_internal((n), sizeof(type)))
/** Internal helper for pa_xnew0() */ /** Internal helper for pa_xnew0() */
static inline void* _pa_xnew0_internal(unsigned n, size_t k) { static void* _pa_xnew0_internal(size_t n, size_t k) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE2(1,2);
static inline void* _pa_xnew0_internal(size_t n, size_t k) {
assert(n < INT_MAX/k); assert(n < INT_MAX/k);
return pa_xmalloc0(n*k); return pa_xmalloc0(n*k);
} }
@ -76,7 +80,9 @@ static inline void* _pa_xnew0_internal(unsigned n, size_t k) {
#define pa_xnew0(type, n) ((type*) _pa_xnew0_internal((n), sizeof(type))) #define pa_xnew0(type, n) ((type*) _pa_xnew0_internal((n), sizeof(type)))
/** Internal helper for pa_xnew0() */ /** Internal helper for pa_xnew0() */
static inline void* _pa_xnewdup_internal(const void *p, unsigned n, size_t k) { static void* _pa_xnewdup_internal(const void *p, size_t n, size_t k) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE2(2,3);
static inline void* _pa_xnewdup_internal(const void *p, size_t n, size_t k) {
assert(n < INT_MAX/k); assert(n < INT_MAX/k);
return pa_xmemdup(p, n*k); return pa_xmemdup(p, n*k);
} }