diff options
author | Bryce Harrington <bryce@osg.samsung.com> | 2016-03-16 14:15:19 -0700 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2016-03-17 14:17:02 +0200 |
commit | ae5d7198f7fe949385279369c0b4c06a6e5ea260 (patch) | |
tree | e9397e61fdd00a33a5380a860be993389e0208e7 /shared/xalloc.h | |
parent | e99e4bf2b9aa13baae46f2a49ff9c9ed8ca631c7 (diff) |
shared: Print .c file/line number in x* routines
Switches from inline to pre-processor definitions in order to utilize
__FILE__ and __LINE__ from the .c file in order to display the location
of memory allocation failures when failing.
Now xmalloc, et al calls will produce:
[weston-info] clients/weston-info.c:714: out of memory (1024)
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'shared/xalloc.h')
-rw-r--r-- | shared/xalloc.h | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/shared/xalloc.h b/shared/xalloc.h index e0d44bfe..85fccb48 100644 --- a/shared/xalloc.h +++ b/shared/xalloc.h @@ -38,30 +38,10 @@ extern "C" { void * fail_on_null(void *p, size_t size, char *file, int32_t line); -static inline void * -xmalloc(size_t s) -{ - return fail_on_null(malloc(s), s, NULL, 0); -} - -static inline void * -xzalloc(size_t s) -{ - return fail_on_null(zalloc(s), s, NULL, 0); -} - -static inline char * -xstrdup(const char *s) -{ - return fail_on_null(strdup(s), 0, NULL, 0); -} - -static inline void * -xrealloc(char *p, size_t s) -{ - return fail_on_null(realloc(p, s), s, NULL, 0); -} - +#define xmalloc(s) (fail_on_null(malloc(s), (s), __FILE__, __LINE__)) +#define xzalloc(s) (fail_on_null(zalloc(s), (s), __FILE__, __LINE__)) +#define xstrdup(s) (fail_on_null(strdup(s), 0, __FILE__, __LINE__)) +#define xrealloc(p, s) (fail_on_null(realloc(p, s), (s), __FILE__, __LINE__)) #ifdef __cplusplus } |