Skip to content
Snippets Groups Projects
Commit ae5d7198 authored by Bryce Harrington's avatar Bryce Harrington Committed by Pekka Paalanen
Browse files

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: default avatarBryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
parent e99e4bf2
No related branches found
No related tags found
No related merge requests found
......@@ -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
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment